jQuery .text() 抓取与条件匹配的文本

发布于 2024-12-21 10:34:26 字数 424 浏览 0 评论 0原文

一旦用户触发操作,h1.text() 必须与 h2.text() 相同。

$('h1').text($('h2').text());

问题是 h2 内部有一些跨度和隐藏跨度。例如:

<h2>Countries: <span class="ec">Ecuador</span> <span class="cl hidden">Chile</span></h2>

h1 需要是:

Countries: Ecuador

Chile 应该被排除在外,因为它位于具有隐藏类的跨度内。我知道这是可以通过某种方式实现的。有什么想法吗?

Once the user triggers an action, h1.text() has to be the same as h2.text().

$('h1').text($('h2').text());

The problem is that h2 has some spans and hidden spans inside. E.g.:

<h2>Countries: <span class="ec">Ecuador</span> <span class="cl hidden">Chile</span></h2>

h1 needs to be:

Countries: Ecuador

Chile should be left out because it is inside a span with the hidden class. I know this can be achieved with conditions somehow. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

墨离汐 2024-12-28 10:34:26

克隆 h2 元素(这样我们就不会弄乱原始元素) ,然后 查找删除所有span.hidden 元素,然后获取文本(使用 end 去将 jquery 链从删除的隐藏跨度备份回 h2) 并将其应用于 h1

$('h1').text($('h2').clone().find('span.hidden').remove().end().text())

jsFiddle: http://jsfiddle.net/mhUEr/1/

Clone the h2 element (so we don't mess up the original), then find and remove all the span.hidden elements, then get the text back (using end to go back up the jquery chain from the removed hidden spans back to the h2) and apply it to h1:

$('h1').text($('h2').clone().find('span.hidden').remove().end().text())

jsFiddle: http://jsfiddle.net/mhUEr/1/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文