例如,如果有多个DIV
元素,则一个在另一个内。让我们说3个级别
你怎么会只选择第二级Div,不知道它们有多深,
并且不能提供更多的课程?
// html example of a possible DOM
<div class="level1'>
<a>
<div>
<a>
<div></div>
</a>
</div>
</a>
<a>
<div></div>
</a>
</div>
选择器概述:
div.level1 > div
=&gt; (BAD)不会返回任何内容,因为Div位于a
div.level1 > a > div
=&gt; (BAD)第二级div可能更深,并且不应写出确切的xpath
是否有某种CSS选择器组合可以返回'找到元素但永远不会在其中找到',所以div.level1 div
只会返回第二级Div但不会那些可能在他们里面的东西(某种东西)。我发现这是一个非常强大的东西。
答案 0 :(得分:0)
不太可能。
但是你可以做的是在级别&gt; = 2(div.level1 div
)上设置所需的属性,并在级别2(div.level1 div div
)以下的所有div上取消它。
当然,总是可以选择为每个级别使用不同的类。
答案 1 :(得分:0)
你的第一个选择器看起来非常好。请查看此示例CSS:
<style type="text/css">
a, div {
display: block;
margin: 10px;
border: 1px solid grey;
background-color: red
}
div.level1 > div {
background-color: green;
}
</style>
只有第二级DIV匹配,因为它是div.level1的直接子级。
BTW:你的HTML毫无意义。内联元素内的DIV很糟糕。但链接内部的链接更糟糕:)