您好,我正在尝试通过使用get.ElementByTagName和javascript达到目的。我不想使用类和ID。我怎样才能达到2div的3div等值线?
<div></div>
<div>
<div></div>
<div>Here</div>
<div></div>
</div>
<div></div>
<div></div>
<div></div>
<div></div>
答案 0 :(得分:5)
您可以将document.querySelector与nth-child一起使用
console.log(document.querySelector('div:nth-child(2) > div:nth-child(2)'))
<div></div>
<div>
<div></div>
<div>Here</div>
<div></div>
</div>
<div></div>
<div></div>
<div></div>
<div></div>
请注意,我选择了第二个孩子,因为那是其中有“ Here”的孩子。如果您要针对空的目标,请改用nth-child(3)
...
仅作为旁注
我不想使用class和id
这是一个非常糟糕的主意,不予理会,因为它可以更快地选择要定位的元素,并且基于“正确构建”的html来选择它们也要容易得多。通常的方法是为您的元素提供类和/或id(也由于样式原因,将正确的CSS附加到它们上)