Jquery 如何在列表中仅选择直接子项?

Jquery 如何在列表中仅选择直接子项?,jquery,Jquery,例如,我有一个简单的列表 <ul> <li></li> <li></li> <li> <ul> <li></li> <li></li> <li></li> </ul> </li>

例如,我有一个简单的列表

<ul>
    <li></li>
    <li></li>
    <li>
        <ul>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </li>
    <li></li>
    <li>
        <ul>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </li>
</ul>
我正在尝试获取所有的
  • ,除了那些在第二个
      中的。首先我尝试了
      ul-li
      ,然后
      ul>li
      ,但仍然得到了您可以使用的所有
    • $('li').not('ul ul li')
      

      这将仅选择第一级
      li
      元素。

      使用
      作为

      jQuery( "parent > child" )
      
      将一个类放在第一个ul上

      <ul class ='ul-parent'>
      
      试一试

      我不建议这样做,最好在顶部ul中添加一个id/类,并使用它来选择孩子

      <ul id="topul">
          <li></li>
          <li></li>
          <li>
              <ul>
                  <li></li>
                  <li></li>
                  <li></li>
              </ul>
          </li>
          <li></li>
          <li>
              <ul>
                  <li></li>
                  <li></li>
                  <li></li>
              </ul>
          </li>
      </ul>
      

      你能给最上面的
      ul
      添加一个class/id吗谢谢,现在我意识到我的错误了
      $('ul:first').children('li')
      
      <ul id="topul">
          <li></li>
          <li></li>
          <li>
              <ul>
                  <li></li>
                  <li></li>
                  <li></li>
              </ul>
          </li>
          <li></li>
          <li>
              <ul>
                  <li></li>
                  <li></li>
                  <li></li>
              </ul>
          </li>
      </ul>
      
      $('#topul').children('li')