所以我不太擅长 Javascript,所以我会马上提出来。话虽如此,在提问之前我已经尽可能多地了解了这个特定问题,但这些建议并没有解决我的问题。我最终试图从与主页位于同一域的 iframe 窗口中提取所有链接。然后我想基本上搜索该链接数组以将其与当前页面匹配以触发对 html 代码的 CSS 修改(这部分尚未编码,仅供引用)。所以这是我到目前为止的部分:旁注:确认在那里调试代码并尝试告诉我它失败的地方以及我的查询返回的内容,完成后它们不会明显保留。我很感激任何可以帮助我解决这个问题的建议!
<script type="text/javascript">
// main is the iframe that I'm trying to search for a tags
document.getElementById("main").onload = function() {
confirm("test");
var main = document.getElementById("main");
var anchors = main.contentWindow.document.getElementsByTagName('a');
confirm(anchors[1]);
for (var i in anchors) {
confirm(anchors[i].getAttribute("href"));
}
};
</script>
最佳答案
我创建了一个 plunker对你来说它的工作。我认为是您文件中代码的位置导致了问题。
<iframe id="main" src="content_if.html"></iframe>
<script>
// main is the iframe that I'm trying to search for a tags
document.getElementById("main").onload = function() {
confirm("test");
var main = document.getElementById("main");
var anchors = main.contentWindow.document.getElementsByTagName('a');
confirm(anchors[1]);
for (var i in anchors) {
confirm(anchors[i].getAttribute("href"));
}
};
</script>
您应该使用 jQuery 以跨浏览器的方式执行此操作。在页面中包含 jQuery
<script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
并关注this post
关于Javascript 元素标签名称未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27309012/