我正在研究使用内容脚本的chrome扩展程序。我正在尝试获取页面的元素,但正在获取从未遇到过的结果。页面加载后,这就是我正在运行的代码。
var iframe = document.getElementsByTagName("iframe");
console.log(iframe);
console.log(iframe[0]);
第一个日志返回一个长度为1的HTML集合,第一个元素被完全定义为iframe元素。
第二条日志返回未定义。
我肯定想念一些明显的东西,有人知道发生了什么事吗?
我也尝试了item(0),结果为否。
我尝试获取ID,类和其他引用DOM元素的方法,它们都可以工作。但是类在这里有同样的问题,它将返回一个元素数组,但是如果我尝试引用第一个元素,则始终是不确定的。
答案 0 :(得分:0)
问题是它是Live HTMLCollection。如此更新!您是在元素存在之前对其进行引用。
<script>
var iframe = document.getElementsByTagName("iframe");
console.log("1", iframe);
console.log("2", iframe[0]);
</script>
<iframe></iframe>
<script>
console.log("3", iframe);
console.log("4", iframe[0]);
iframe[0].remove();
console.log("5", iframe);
console.log("6", iframe[0]);
</script>