Jquery 选择下一个元素中的元素

Jquery 选择下一个元素中的元素,jquery,jquery-selectors,Jquery,Jquery Selectors,我需要选择每个$('div span:eq(0)')。text()在$('div#first')中。如何将这两个选择器串在一起 <div id="first">Some stuff to be ignored.</div> <div> <div> <ul> <li> <span>Some text</span> <!-- need this -->

我需要选择每个
$('div span:eq(0)')。text()
$('div#first')
中。如何将这两个选择器串在一起

<div id="first">Some stuff to be ignored.</div>
<div>
  <div>
    <ul>
      <li>
        <span>Some text</span> <!-- need this -->
        <span>Skipped text</span>
      </li>
    </ul>
  </div>
  <div>
    <ul>
      <li>
        <span>Some text</span>  <!-- and this -->
        <span>Skipped text</span>
      </li>
    </ul>
  </div>
  <!-- this pattern continues unknown # of times -->
</div>
一些需要忽略的东西。
  • 一些文本 跳过的文本
  • 一些文本 跳过的文本
或者,如果您希望一次处理一个:

$('div span:eq(0)', 'div#first').each(function() {
  console.log($(this).text());
});
如果要将这些跨距置于“div#first”中,可以使用:

$('div#first').append($('div span:eq(0)'));

尝试使用
li
而不是
div

// Using #first.next()-v as #first just has a &nbsp;
$('li', $('#first').next()).find('span:eq(0)').text('Updated text');

演示:

我不确定是否理解您的问题。在上面的HTML片段中,div#first是空的……其他HTML是否真的包含在div#first中?不幸的是,他错误地表达了自己的愿望,我认为他想得到span中的文本,并将其放入
#first
元素中,因为
#first
除了
之外不包含任何内容。为了更清楚,编辑的示例。我只是简单地捕获了跨度中的文本以用于其他内容。不幸的是,您的编辑并没有真正帮助澄清您的问题。。。一个重要的提示:永远不要!使用如下id选择器:
$('div#first')
请始终编写以下代码:
$('div#first')
@克里斯托夫:谢谢,我不知道我做错了。上课怎么样<代码>$(div.class)不幸的是,他错误地表达了自己的愿望,我想他想把文本放在span中,然后把它放在
#first
元素中,因为
#first
除了
之外不包含任何内容。那么如果
#first
div中没有任何内容,你怎么能测试呢?我不认为他想让它这样?当然他看到了关于他的问题的评论。实际上,我认为这只是示例代码,而不是真正的代码。
// Using #first.next()-v as #first just has a &nbsp;
$('li', $('#first').next()).find('span:eq(0)').text('Updated text');