我正在编写一个GreaseMonkey脚本,用于修改具有特定ID的元素的属性,但由于非传统的HTML层次结构,我无法访问它。以下是相关的HTML:
<body>
...
<iframe id="iframeID">
<html>
...
<body id="bodyID" attribute="value">
...
</body>
...
</html>
</iframe>
...
</body>
这里的 attribute
是我试图修改的属性。
一开始,我没有意识到我正在处理一个嵌套了 body
标签的 iframe
,所以我尝试了以下代码:
document.getElementById('bodyID').setAttribute("attribute","value")
在Firefox中这很好用,但是Chrome告诉我无法设置
null
的属性,并暗示它找不到任何id为bodyID
的元素。如何以跨浏览器友好的方式修改此属性?
window.frames
吗?(文档:https://developer.mozilla.org/zh-CN/docs/Web/API/Window/frames) - Jeremy Rodi<body>
和演示的更新。 - gdoron