假设我有这个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());
答案 0 :(得分:1)
我可以不使用循环吗?
不,你需要一个循环。 然而你可以通过为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>