Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery—ul中li元素的第一行_Jquery_Html Lists_Children - Fatal编程技术网

jQuery—ul中li元素的第一行

jQuery—ul中li元素的第一行,jquery,html-lists,children,Jquery,Html Lists,Children,jQuery中是否有只引用主对象特定子对象的第一行的选择器? 我这里指的是以下结构: <ul> <li> <ul> <li></li> </ul> </li> <li> <ul> <li></li> </ul>

jQuery中是否有只引用主对象特定子对象的第一行的选择器? 我这里指的是以下结构:

<ul>
    <li>
        <ul>
            <li></li>
        </ul>
    </li>
    <li>
        <ul>
            <li></li>
        </ul>
    </li>
</ul>
我只想对li的第一行应用触发器,而不是嵌入其中的那些

<ul class="top">
    <li>
        <ul>
            <li></li>
        </ul>
    </li>
    <li>
        <ul>
            <li></li>
        </ul>
    </li>
</ul>
这意味着只有ul的直接子li节点

否则,如果您不能控制可以使用的类

$("ul:first>li")
这意味着只有ul的直接子li节点

否则,如果您不能控制可以使用的类

$("ul:first>li")

下面的代码将只获取属于ul而不是li的子元素的li元素

    $('ul').children('li');
在你的代码中,我想应该是这样的

    $('ul li').click(function(){
        if($(this).parents('li')) {      //add extra check
             return;                    //do nothing
        }

    })

这只是给出一个提示

下面的代码将只获取属于ul而不是li的子元素的li元素

    $('ul').children('li');
$("ul:first > li").something(); //<--
在你的代码中,我想应该是这样的

    $('ul li').click(function(){
        if($(this).parents('li')) {      //add extra check
             return;                    //do nothing
        }

    })

这只是给你一个提示//<代码>$(“ul:first>li”).something()//我恐怕它也在嵌入式设备上执行我恐怕它也在嵌入式设备上执行您可以使用:
$('ul:first').children()
您可以使用:
$('ul:first').children()
但是所有
li
s都是
ul
的子元素,因此这与它们都匹配。我认为,因为所有被选中的元素也包含子元素li,因此这似乎是有问题的。我已经更新了帖子“试试看”。@kingjiv children方法只选择直接子级,而find方法在嵌套层中挖掘得更深。children方法查找直接子级<代码>$(“ul”)将包含所有
ul
元素。每个
li
都是那些
ul
元素中的一个的直接子元素。但是所有
li
s都是
ul
的子元素,所以这与它们都匹配。我认为,因为所有被选中的元素都包含子元素li,所以这似乎是有问题的。我已经更新了帖子“试试看”。@kingjiv children方法只选择直接子级,而find方法在嵌套层中挖掘得更深。children方法查找直接子级<代码>$(“ul”)将包含所有
ul
元素。每个
li
都是这些
ul
元素之一的直接子元素。
$("ul:first > li").something(); //<--