一旦用户触发动作,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
智利应该被排除在外,因为它在隐藏类的范围内。我知道这可以用条件以某种方式实现。有什么想法吗?
答案 0 :(得分:2)
Clone h2
元素(因此我们不会弄乱原文),然后是find和remove所有span.hidden
元素,然后获取文本返回(使用end将jquery链从已删除的隐藏跨度返回到h2)并将其应用于h1
:
$('h1').text($('h2').clone().find('span.hidden').remove().end().text())
jsFiddle:http://jsfiddle.net/mhUEr/1/