比方说,我有这样的HTML结构:
<div class="Parent">
<span class="current">Text</span>
<ul>
<li class="0">Cat</li>
<li class="1">Dog</li>
<li class="2">Cow</li>
</ul>
</div>
我有这个相同结构的页面上几次。
现在我想改变$('.current')
内容,以他最亲密的$('.0')
内容的内容中的每一个。
我能做到这一点,而不使用循环?并以某种方式参阅最后.find
结果呢? (就像是:
$('.parent').children().find('.current').html($(refertolastresultsomehow).closest('.0').html());
我能做到这一点,而不使用循环?
不,你将需要一个循环。然而,你可以“隐藏”的循环通过向text()
方法提供的功能。然后jQuery将做循环在你的.current
元素。尝试这个:
$('.current').text(function() {
return $(this).closest('.Parent').find('.0').text();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="Parent">
<span class="current">Text</span>
<ul>
<li class="0">Cat</li>
<li class="1">Dog</li>
<li class="2">Cow</li>
</ul>
</div>
<div class="Parent">
<span class="current">Text</span>
<ul>
<li class="0">Foo</li>
<li class="1">Bar</li>
</ul>
</div>