【问题标题】:Selection of an a specific <li> in nested unordered lists在嵌套的无序列表中选择一个特定的 <li>
【发布时间】:2012-07-27 20:21:29
【问题描述】:

想要选择所有没有在其下有嵌套列表的列表元素(可以按任何顺序,因此 next 必须是第一个或最后一个)。

在下面的情况下,它将是:

<li>Main Item Three</li>

我可以选择那些 有嵌套列表的列表元素:

$('ul.location_list li:has(ul)')

我想我可以使用类似的东西:

$('ul.location_list li:not(ul)')

但没有骰子。想法?

<li>Main Item Three</li>

<ul class="location_list">
   <li>Main Item One
      <ul>
         <li>Sub-Item One A</li>
         <li>Sub-Item One B</li>
         <li>Sub-Item One B</li>
      </ul>
   </li>
   <li>Main Item Two
      <ul>
         <li>Sub-Item Two A</li>
         <li>Sub-Item Two B</li>
         <li>Sub-Item Two B</li>
      </ul>
   </li>
   <li>Main Item Three</li>
</ul>

【问题讨论】:

    标签: jquery select nested unordered


    【解决方案1】:

    $('ul.location_list&gt;li:not(:has(ul))')

    (未经测试:)

    【讨论】:

    • 尝试了$("ul.location_list li:not(:contains(ul))").css('color','red'); 并将所有&lt;li&gt; 标签变为红色。它应该只是最后一个红色。所以,不高兴,但谢谢。
    • $('ul.location_list li:not(:has(&gt;ul))') 怎么样?这里有进一步的讨论:api.jquery.com/not-selector
    • 如此接近。它还会为嵌套的&lt;li&gt; 着色,因为它们下方也没有&lt;ul&gt;。正在研究确定顶级ul的第一个孩子的方法
    • 啊哈!那么$('ul.location_list&gt;li:not(:has(&gt;ul))') 应该只选择顶层 ul.location_list 的直接 li 子级。在此处查看子选择器:api.jquery.com/child-selector
    • 宾果游戏!顺便说一句,&gt; 在括号中的 ul 之前不需要。查看您的解决方案:sandbox.highsitetest.com/unordered_list_turndowns.html
    猜你喜欢
    • 1970-01-01
    • 2016-07-30
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多