使用Jquery在父级别选择各种元素

时间:2015-11-17 01:28:35

标签: jquery

我有以下嵌套列表:

<ul id="myList">
    <li>
        <ul>
            <li class="red"></li>
            <li class="black"></li>
        </ul>
    </li>
    <li class="red"></li>
    <li class="red"></li>
    <li class="black"></li>
</ul>

如何选择“红色”和“黑色”类的元素,这些元素只直接出现在外部(不包括嵌套标记内的那些)?

3 个答案:

答案 0 :(得分:1)

您需要使用&gt; 签名

#myList ul > li.red , #myList ul > li.black

DEMO

如果你只需要内部ul的红色和黑色

{{1}}

我建议您阅读Selectors

答案 1 :(得分:0)

 $("#myList>.red ,#myList>.black")

“&gt;” 中意思是儿子,所以选择器“#myList&gt; .red”表示id为#myList的儿子(有红色等级)的div,这不会选择孙子。

“,”表示加入另一个选择器,使用#myList&gt; .red你可以找到两个元素,#myList&gt; .black你也可以找到一个。

我想这是你期望的结果。抱歉我的英语不好。我还建议你阅读jQuery选择器,这是非常基本和重要的。

答案 2 :(得分:0)

尝试使用.not()选择不属于任何元素的子元素的.red.black

&#13;
&#13;
$(".red, .black").not("#myList * *").css("color", "blue")
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul id="myList">
    <li>
        <ul>
            <li class="red"></li>
            <li class="black"></li>
        </ul>
    </li>
    <li class="red"></li>
    <li class="red"></li>
    <li class="black"></li>
</ul>
&#13;
&#13;
&#13;