请参阅最后创建的元素jQuery对象

时间:2018-01-17 16:05:47

标签: jquery dom find

假设我有这个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());

1 个答案:

答案 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>