我正在努力寻找这个问题的答案,我想要一种谈论元素的方式,但由于我要添加到的系统,我无法通过其 Id 进行引用,因为它是动态的。虽然我可以指定其包含的 div 的类名......本质上我正在寻找的是类似以下内容的内容:
var disAb=document.getElementBySomething("div.ContainerDiv select")
当我提到术语“路径”时,我指的是我将如何在 CSS 中引用它(参见代码引用)。
谢谢大家!
最佳答案
你想要 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
等
关于javascript - 如何从路径而不是类或 ID 获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18912584/