从第一级选择元素

时间:2014-12-29 10:38:04

标签: javascript jquery jquery-selectors

我有这个ul li列表:

<ul>
  <li><div>Text</div><a href="#">A</a></li>
  <li><div>Text</div><a href="#">B</a></li>
  <li><div>Text</div><a href="#">C</a></li>
  <li>
    <ul>
      <li><div>Text</div><a href="#">A1</a></li>
      <li><div>Text</div><a href="#">B1</a></li>
      <li><div>Text</div><a href="#">C1</a></li>
      <li><div>Text</div><a href="#">D1</a></li>
    </ul>
  </li>
  <li><div>Text</div><a href="#">E</a></li>
</ul>

我需要从第一级选择所有“li”元素。

在这个例子中它将是:

  <li><div>Text</div><a href="#">A</a></li>
  <li><div>Text</div><a href="#">B</a></li>
  <li><div>Text</div><a href="#">C</a></li>
  <li><div>Text</div><a href="#">E</a></li>

尝试使用:

  $('ul').children()

我从第一级和第二级获得所有“li”元素。

非常感谢。

6 个答案:

答案 0 :(得分:4)

选择li ul:first ul作为孩子的$('ul:first').children('li:not(:has(ul))'); 元素。

{{1}}

Fiddle

答案 1 :(得分:1)

您可以使用以下代码搜索1st ul,然后搜索所有li: $(&#39; UL:第一GT&;李&#39)

答案 2 :(得分:0)

您可以在第一个ul中添加一个类,然后调用.children()

答案 3 :(得分:0)

尝试

$('ul>li').css(//your doing//);

这会在您的代码中选择direct childs的{​​{1}}。

如果您想要访问特定all ul tags,请尝试使用ulclass

答案 4 :(得分:-1)

您可以将选择器更改为

$("'whatever element is above first level ul element' > ul > li")

答案 5 :(得分:-1)

给外部ul一个类:

<ul class="my_ul">
....
</ul>

在jquery中,你可以得到它们:

  $('.my_ul').children()
编辑:我的第一个代码是生孩子。