Javascript 元素标签名称未定义
Javascript element tag name undefined
所以我对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>
并关注这篇文章
有一个关于这样做的类似帖子,我同意穆罕默德-优素福的观点。如果你可以使用jquery,那么你应该这样做!
$("#main").contents().find("a").each(function(element) {
// "each" will iterate through every a tag and inject them as the "element" argument
// visible in the scope of this anonymous function
});
编辑:您必须包括
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
在引用 $
变量的代码上方。还有其他方法可以使用jQuery,但这可能是最简单的方法。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- 尽管 js 文件引用在标头中,但未定义函数
- JQuery$.ajax跨域请求中未发送自定义标头
- 设置自定义标头时,跨来源jquery ajax请求中未发送Cookie
- Chrome应用程序jquery AJAX请求未发送自定义标头
- 偏移量在标头固定中未定义