jQuery .text()抓取符合条件的文本

时间:2011-12-15 17:01:47

标签: jquery dom css-selectors

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

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

问题是h2内部有一些跨度和隐藏的跨度。 E.g:

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

h1 需要:

Countries: Ecuador

智利应该被排除在外,因为它在隐藏类的范围内。我知道这可以用条件以某种方式实现。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

Clone h2元素(因此我们不会弄乱原文),然后是findremove所有span.hidden元素,然后获取文本返回(使用end将jquery链从已删除的隐藏跨度返回到h2)并将其应用于h1

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

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