jQuery选择器:列表不在div内

时间:2014-07-16 15:13:41

标签: jquery html cheerio

我有类似以下的HTML结构:

<div id='main'>
  <ul>
    <li>1_1</li>
    <li>1_2</li>
    <li>1_3</li>
  </ul>
   <ul>
    <li>2_1</li>
    <li>2_2</li>
    <li>2_3</li>
  </ul>
  <div id='sub1'>
    <ul>
      <li>sub1_1</li>
      <li>sub1_2</li>
      <li>sub1_3</li>
    </ul>
  </div>
  • 使用jQuery,我试图在&#39; main&#39;中的所有ul 中获取所有li 元素的文本。 div,但不在&sub;&#39; div中。

  • &#39;#主&#39;可以包含单个列表,也可以包含多个列表。

  • 如果选择器在Node.js上使用cheerio,可以获得奖励,但我真正想要的是学习解决该问题的正确方法:)

  • 如果有人觉得此帖需要,我可以添加失败的尝试。为了避免tl; dr,我们只是说我对jQuery有一定的了解,而且我没有尝试过任何工作!

2 个答案:

答案 0 :(得分:2)

尝试使用child selector,之后转到descendants

$("#main > ul li")

DEMO

答案 1 :(得分:0)

您可以使用Jquery过滤器过滤掉不需要的元素,其中一个是“NOT”过滤器。 使用以下代码:

$(document).ready(function(){
  $("#main > ul li").not("#sub1").each(function() {
  alert($(this).text());

});
});

快乐编码:)