【问题标题】:Selecting a DOM element that doesn't have any selectors whatsoever选择一个没有任何选择器的 DOM 元素
【发布时间】:2017-09-02 00:07:59
【问题描述】:

我希望选择一个没有任何选择器的 DOM 元素(而且它不是我的站点,所以我不能自己添加这些元素)。

假设我不能通过 textContent 或 offsetWidth 来定位它,因为网页中的许多其他 HTML 对象(元素)具有相同的 textContent 和/或 offsetWidth,因此原则上在这种情况下这不是一个好方法。

我的问题:

我会假设每个 DOM 元素都有某种“机器标识符”,我可以利用它通过 document.querySelector 选择对象。

它可能被数组中的唯一数字(索引)选择(如果我们将 DOM 树视为一个数组)。

确实有任何机器标识符或索引可以用来通过 document.querySelector 选择元素吗?

我试图搜索,但基本上我没有找到。也许我使用的术语是错误的。

我不寻找 jQuery 或 CSS 解决方案,而只是寻找 vanilla JS。

【问题讨论】:

  • 你能发布一个该元素的html示例吗?
  • 您尝试过使用 xPath 吗?
  • Kaddath,不,因为我在任何 HTML 元素上询问它,所以我没有我想要定位的特定元素的示例。
  • caramaba,不,直到现在我才知道这个词。
  • 如果您没有给我们任何关于您想要定位的目标或外观的标准,这是通用的答案:使用适当的选择器..

标签: javascript html dom css-selectors


【解决方案1】:

在 Chrome 中右键单击您的元素,然后选择 inspect

然后,在检查器中,在 HTML 代码中,再次右键单击它并选择 copy selector(或 copy Xpath)。

例如,如果我想从您的问题中选择“我的问题:”,它会给我:

#question > table > tbody > tr:nth-child(1) > td.postcell > div > div.post-text > h2

这是该元素唯一的绝对 CSS 选择器。

【讨论】:

  • 使用 Xpath 附近的类似按钮,给了我我想要的选择器(“选择路径”)。感谢您指出正确的方向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-23
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
相关资源
最近更新 更多