javascript - 如何从路径而不是类或 ID 获取元素

标签 javascript dom css-selectors

我正在努力寻找这个问题的答案,我想要一种谈论元素的方式,但由于我要添加到的系统,我无法通过其 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 selectdiv.ContainerDiv table select

关于javascript - 如何从路径而不是类或 ID 获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18912584/

相关文章:

javascript - 如何从android webview获取Javascript消息

java - JAVA(Selenium)中的for循环通过cssSelector查找Element

CSS3第n个子瓦片背景颜色根据列数交替

javascript - d3v4.js - d3.line 没有绘制正确的值

用于调查的 Javascript : Calculating Age from Birth date on Page Load From Prefilled Info

javascript - 如何定位javascript文件位于dom中的元素

javascript - 移除的 DOM 元素仍然出现在页面上

javascript - 检测 iFrame 中的 DOM 就绪状态 (jQuery)

javascript - 如何在 Visual Studio Code 中使用 TypeScript 和 JavaScript 禁用自动导入的自动分号?

python - 无法创建合适的选择器来解析某个字符串