Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
不包含LIs的jQuery选择器UL_Jquery_Html_Jquery Selectors_Html Lists - Fatal编程技术网

不包含LIs的jQuery选择器UL

不包含LIs的jQuery选择器UL,jquery,html,jquery-selectors,html-lists,Jquery,Html,Jquery Selectors,Html Lists,假设使用以下HTML,如何查找不包含任何lis的所有uls?IE:在这种情况下ul3和ul4 我可以看到jQuery有“has”选择器,但我看不到它的反方向?我也不明白我怎么能把我所拥有的结合起来而不去完成我所需要的 <div id="div1"> <ul id='ul1'> <li> </li> </ul> <ul id='ul2'> <li&

假设使用以下HTML,如何查找不包含任何lis的所有uls?IE:在这种情况下ul3和ul4

我可以看到jQuery有“has”选择器,但我看不到它的反方向?我也不明白我怎么能把我所拥有的结合起来而不去完成我所需要的

<div id="div1">
    <ul id='ul1'>
        <li>
        </li>
    </ul>

    <ul id='ul2'>
        <li>
        </li>
    </ul>

    <ul id='ul3'>
    </ul>

    <ul id='ul4'>
    </ul>
</div>


  • 我也不明白我怎么能把我所拥有的结合起来而不去完成我所需要的

    <div id="div1">
        <ul id='ul1'>
            <li>
            </li>
        </ul>
    
        <ul id='ul2'>
            <li>
            </li>
        </ul>
    
        <ul id='ul3'>
        </ul>
    
        <ul id='ul4'>
        </ul>
    </div>
    
    据我所知,这很简单:

    $('ul:not(:has(li))')
    
    我也不明白我怎么能把我所拥有的结合起来而不去完成我所需要的

    <div id="div1">
        <ul id='ul1'>
            <li>
            </li>
        </ul>
    
        <ul id='ul2'>
            <li>
            </li>
        </ul>
    
        <ul id='ul3'>
        </ul>
    
        <ul id='ul4'>
        </ul>
    </div>
    
    据我所知,这很简单:

    $('ul:not(:has(li))')
    
    使用选择器(如果您确定没有文本节点的后代)

    否则你可以用

    $('ul').filter(function() { return ! $(this).find('li').length; });
    
    使用选择器(如果您确定没有文本节点的后代)

    否则你可以用

    $('ul').filter(function() { return ! $(this).find('li').length; });
    

    为什么会有一个没有项目的列表?为什么会有一个没有项目的列表?:)我在jQuery文档页面上测试了它:不是。但是,每个
    ul
    页面上都有一个
    li
    ,所以可以肯定的是,我也尝试了
    p
    strong
    。您的版本存在的问题是
    contains
    在这里不合适,而
    has
    contains
    ul
    的文本后代中查找文本字符串,而不是子标记。:)我在jQuery文档页面上测试了:not。但是,每个
    ul
    页面上都有一个
    li
    ,所以可以肯定的是,我也尝试了
    p
    strong
    。您的版本存在的问题是
    contains
    在这里不合适,而
    has
    contains
    ul
    的文本后代中查找文本字符串,而不是子标记。