我如何获取2div的3div diside的ElementByTagName?

时间:2018-06-30 12:17:11

标签: javascript jquery html

您好,我正在尝试通过使用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>

1 个答案:

答案 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附加到它们上)