Javascript 如何使用jQuery以特定的父div为目标
让我们以这个HTML为例:Javascript 如何使用jQuery以特定的父div为目标,javascript,jquery,dom,Javascript,Jquery,Dom,让我们以这个HTML为例: <ul class="wrap"> <li class="out"></li> <li class="out"></li> <li class="out"> <ul class="wrap"> <li class="out"></li> <li class="out"></li>
<ul class="wrap">
<li class="out"></li>
<li class="out"></li>
<li class="out">
<ul class="wrap">
<li class="out"></li>
<li class="out"></li>
</ul>
</li>
</ul>
-
使用jQuery,针对具有“wrap”类但不是嵌套ul子级的列表项的最佳方法是什么?或者,我如何用嵌套在ul中的“wrap”类标记li,而ul嵌套在li中?我相信类似这样的内容:
$("ul.wrap li ul.wrap")
对于非嵌套li,有两个选项:
$('ul.wrap:has(ul) > li') // For uls that specifically have a nested ul inside
$('ul.wrap > li:not(ul ul > li)') // For any top-level ul
对于嵌套的li:
$('ul.wrap ul.wrap > li')
ul与li嵌套:
$("li > ul.wrap > li")
$("ul.wrap li:not(li > ul >li)")
不与li嵌套的ul:
$("li > ul.wrap > li")
$("ul.wrap li:not(li > ul >li)")
你有一个“外部”ul和一个“内部”ul。选择内部ul非常简单,您只需使用子代选择器ul.wrap ul.wrap
。在OuterOne中有点棘手,因为您需要使用not选择器的条件:ul.wrap:not(ul.wrap ul.wrap)
。你基本上是说:给我所有的ul.wrap,没有一个父母有一个wrap。如果要选择“li”,请使用直接选择器,即每个选择器后面的li
我已将其添加到示例中,以向您展示它的工作原理:
Html:
Ps.我不会使用'li'选择器来查找外部或内部ul。如果按编程方式填充,可能会遇到空的ul(这将打破依赖于li的选择器),为什么要使用不需要的内容?阅读此页上有关选择器的一些信息可能会很有用:。玩得高兴