我正在努力为此找到答案,我想要一种方式来讨论一个元素,但由于我添加的系统我不能通过它的ID引用,因为它是动态的。我可以指定其包含div的类名称...实质上我正在寻找的是:
var disAb=document.getElementBySomething("div.ContainerDiv select")
当我提到术语'path'时,我的意思是我将如何在CSS中引用它(参见代码参考)。
谢谢你们!
答案 0 :(得分:13)
您想要document.querySelector
或document.querySelectorAll
,然后只按其层次结构路径引用它:
示例HTML
<div class="ContainerDiv">
<table>
<tr>
<td>
<div>
<select>
<option>Some options</option>
</select>
</div>
</td>
</tr>
</table>
</div>
<强> JS 强>
获取单个元素
var select=document.querySelector("div.ContainerDiv table tr td div select");
select.id = "someid";
对于多个元素
var selects=document.querySelectorAll("div.ContainerDiv select");
selects[0].id = "someid";
当然,您不需要每个部分的层次结构,例如您可以使用:div.ContainerDiv select
或div.ContainerDiv table select
等。