我正在尝试为 edge 创建一个扩展,但我目前面临getAttribute()
函数的问题。它没有向我返回我正在寻找的元素的属性。
这是我的代码在 Edge 上的样子,没有出来:document.head.getAttribute("data-xd-id") ;
结果:null
这是我的代码在 Chrome 上的样子,没有出来:document.head.getAttribute("data-xd-id") ;
结果:AAggv0A
Chrome 浏览器正确返回预期的结果/id,但 edge 返回null
。经过进一步调查,Edge 似乎拒绝访问以返回这些元素/id?为什么会这样呢?有什么解决方法吗?
头部细节:
您可以转到 http://www.msn.com/en-ca 并查看头部标记或在此处:
<head data-info="lots of stuff here" ... data-xd-id="AAggv0A" data-delayed-js="...
如果要从HTMLElement
中检索data-
属性,应考虑使用dataset
属性。
使用您的示例:
document.head.dataset
从<head>
标记获取Object
内的所有data-
属性。document.head.dataset["xd-id"]
从<head>
标记中获取data-xd-id
值。
Mozilla 的更多信息:
https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset