我正在尝试为edge创建扩展,而我目前遇到getAttribute()
函数的问题。它并没有返回我想要的元素的属性。
这是我的代码在Edge上看起来像这样的样子:
document.head.getAttribute("data-xd-id") ;
结果:null
这就是我的代码在Chrome上看起来像是消失的样子:
document.head.getAttribute("data-xd-id") ;
结果:AAggv0A
Chrome浏览器正确返回了预期的结果/ id,但边缘返回了null
。经过进一步调查,似乎Edge拒绝访问以返回这些元素/ id?为什么会这样?有什么解决办法吗?
详细信息:
您可以转到http://www.msn.com/en-ca并在此处查看标头标记:
<head data-info="lots of stuff here" ... data-xd-id="AAggv0A" data-delayed-js="...
答案 0 :(得分:0)
如果要从data-
检索HTMLElement
属性,则应考虑使用dataset
属性。
使用您的示例:
document.head.dataset
从data-
标记获取Object
内的所有<head>
属性。document.head.dataset["xd-id"]
从data-xd-id
标记中获取<head>
值。有关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