问题描述
|
例如,如果有多个“ 0”元素,则一个元素在另一个元素内。可以说3个级别。
您将如何只选择Divs的第二级,却不知道它们的深度,
不能再上更多课?
// 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
=>(BAD)将不返回任何内容,因为Div位于inside3ѭ内
div.level1 > a > div
=>(BAD)2级div可能更深,因此不应写入确切的xpath
是否存在某种CSS选择器组合,它们会返回“找到元素,但再也找不到它们”,因此ѭ5only将仅返回第二级Divs,而不返回可能在其内部的Divs(类似的东西) )。我发现这是一件非常有力的事情。
解决方法
不见得。
但是您可以做的是在> = 2(
div.level1 div
)级别上设置所需的属性,并在低于2级(div.level1 div div
)的所有div上取反。
当然,始终可以为每个级别使用不同的类。
, 您的第一个选择器看起来绝对不错。只需查看以下示例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的直接子级。
顺便说一句:您的HTML毫无意义。内联元素中的DIV不好。但是链接内部的链接甚至更糟:)