gpt4 book ai didi

javascript - 有没有办法获取未用显式 id 属性标记的 html 元素的唯一 id/key?

转载 作者:行者123 更新时间:2023-11-28 12:32:04 24 4
gpt4 key购买 nike

因此,如果有人点击类似的链接(请原谅 Jade ):

div
ul
li
a(href="/foo") Bar
li
a(href="/baz") Foo

假设我点击了“Bar”链接,我如何以编程方式在DOM中找到被点击的节点?我可以使用像 tagName + insideHtml 之类的启发式方法,但是 DOM 本身必须有某种方法来识别元素,我可以使用这些方法稍后使用普通的 javascript/jquery 进行查询?

编辑:请我们假设我们事先不知道有关单击内容的任何信息,但在单击发生后我们确实有一个事件对象。是否有一个唯一的 event.target.something ?然后我可以说(在 jquery 中)$(event.target.something) 并正确选择正确的元素吗?

最佳答案

我不太确定“稍后查询”是什么意思 - 即,您想什么时候查询,以及您将使用该元素做什么?如果您想在同一 HTML 页面中访问被点击的元素(假设点击不会转到另一个页面),则可以在点击处理程序中使用 this 关键字来检索单击的元素,然后将其存储在稍后可以访问的某个变量中。

但是,如果您想保留单击元素的某种记录以供将来使用(例如,识别在 Selenium 测试用例中单击哪些元素),您可以通过 Xpath 唯一地识别 HTML 页面中的元素,假设DOM 在此过程中不会改变。例如,你可以这样做

$("a").click(function() {
var theClickedElement = $(this);
getXpath(theClickedElement); //Display the return value of this somewhere
}

您可以使用类似 this answer 的方法来实现 getXpath() (链接中的代码计算相对 Xpath - 您还可以获得仅包含标签名称的绝对 Xpath。有关 XPath 的更多信息,请查看 this tutorial

关于javascript - 有没有办法获取未用显式 id 属性标记的 html 元素的唯一 id/key?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21039514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com