嵌套<li>事件仅限于特定数量的层次结构</li>

时间:2013-12-25 04:08:44

标签: jquery jquery-selectors

假设我有一些像这样的HTML:

<ul>
    <li> <!-- this -->
        <ul>
            <li></li> <!-- this -->
            <li></li>
            <li>
                <ul>
                    <li></li> <!-- this -->
                    <li></li>
                    <li></li>
                </ul>
                <ul>
                    <li>
                        <ul>
                            <li></li> <!-- NOT this -->
                            <li></li>
                            <li></li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

如何限制DOM选择器,以便只有第一,第二和第三级<li>元素包含在jQuery函数中?

jQuery可能看起来像:

$('li li li').click(function() {
    //do stuff
});

(除非不起作用!)

4 个答案:

答案 0 :(得分:3)

抓住前三个li:first-child元素:

$("li:first-child:lt(3)");

演示:http://jsfiddle.net/HVt8M/

答案 1 :(得分:2)

只需使用.not()

$('li').not('li li li li').click(function() {
    // do stuff
});

答案 2 :(得分:1)

处理此问题的另一种方法是:

$('li:not(li li li)').click(...

答案 3 :(得分:0)

你不能给每个人上课吗?那么你所要做的就是以下几点:

$(".class1, .class2, .class3").click....