jquery:如果 ul 具有特定类名的 li?

mat*_*att 1 jquery list

我想知道如何查询 ul 是否具有具有特定类名的第一个子 li?

\n\n

像\xe2\x80\xa6

\n\n
<ul>\n<li>list element 1</li>\n<li>list element 2</li>\n</ul>\n\n<ul>\n<li class="whatever">list element 1</li>\n<li>list element 2</li>\n</ul>\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想查询 ul 是否有一个具有类名的孩子 -> 做点什么!\这可能吗?

\n\n

谢谢

\n

Nic*_*ver 5

组合:has()和>(直接子级)选择器,如下所示:

\n\n
$(\'ul:has( > li.whatever)\')\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以在此处查看演示,仅当直系子级<li>具有时才匹配class="whatever",如果没有>,则如果任何后代具有该类,它将匹配。

\n\n

或者,走另一条路:

\n\n
$("li.whatever").parent("ul")\n
Run Code Online (Sandbox Code Playgroud)\n\n

.parent()仅当它们是 a <ul>(而不是 a )时,才会找到该类的所有直接元素<ol>。

\n\n
\n\n

我认为你的意思是一个直接子代,但如果你只需要在第一个<li>直接子代具有该类时进行匹配,请添加:first-child选择器,如下所示:

\n\n
$(\'ul:has( > li.whatever:first-child)\')\n
Run Code Online (Sandbox Code Playgroud)\n\n

您可以在此处查看测试页面

\n