Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript元素标记名未定义_Javascript_Jquery_Html_Css_Arrays - Fatal编程技术网

Javascript元素标记名未定义

Javascript元素标记名未定义,javascript,jquery,html,css,arrays,Javascript,Jquery,Html,Css,Arrays,所以我对Javascript不是很在行,所以我会马上提出这个问题。话虽如此,在提出问题之前,我已经尽可能多地查阅了这个问题,但这些建议并没有解决我的问题。我最终尝试从与主页相同的域上的iframe窗口中提取所有链接。然后我想基本上搜索链接数组,将其与当前页面匹配,以触发对html代码的CSS修改(这部分还没有编码,仅供参考)。这里是我到目前为止的部分:旁注:确认程序在那里调试代码,并试图告诉我哪里失败了,我的查询返回了什么,当这完成时,它们显然不会停留。我感谢任何可能帮助我解决这个问题的建议

所以我对Javascript不是很在行,所以我会马上提出这个问题。话虽如此,在提出问题之前,我已经尽可能多地查阅了这个问题,但这些建议并没有解决我的问题。我最终尝试从与主页相同的域上的iframe窗口中提取所有链接。然后我想基本上搜索链接数组,将其与当前页面匹配,以触发对html代码的CSS修改(这部分还没有编码,仅供参考)。这里是我到目前为止的部分:旁注:确认程序在那里调试代码,并试图告诉我哪里失败了,我的查询返回了什么,当这完成时,它们显然不会停留。我感谢任何可能帮助我解决这个问题的建议


//main是我试图搜索标签的iframe
document.getElementById(“main”).onload=function(){
确认(“测试”);
var main=document.getElementById(“main”);
var archors=main.contentWindow.document.getElementsByTagName('a');
确认(锚[1]);
用于(锚中的变量i){
确认(锚[i].getAttribute(“href”);
}
};
这样做是有道理的,我同意穆罕默德·优素福的观点。如果你可以使用,那么你应该这样做

$("#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还有其他方法,但这可能是最简单的方法。

我已经为您创建了一个工作环境。我认为是代码在文件中的位置造成了问题

<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>

//main是我试图搜索标签的iframe
document.getElementById(“main”).onload=function(){
确认(“测试”);
var main=document.getElementById(“main”);
var archors=main.contentWindow.document.getElementsByTagName('a');
确认(锚[1]);
用于(锚中的变量i){
确认(锚[i].getAttribute(“href”);
}
};
您应该使用jQuery以跨浏览器的方式完成这项工作。在页面中包含jQuery

<script src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>


跟着你做我喜欢你想做的事。。尽管我建议使用jquery而不是纯javascript。。祝你好运“修复此问题”-错误发生在哪里?确切的错误是什么?
for(锚中的var i)
还没有看到。同时共享html类型错误:未定义不是对象(评估“锚[1]”)。我知道这基本上是说我的对象还没有在页面中呈现,但我的代码在底部,所以这不应该发生…所以当我尝试此操作时,它只返回ReferenceError:Cannot find variable$,我完全明白为什么这是更好的选择,但由于某些原因,by data仍然没有被正确解析?嘿,请参阅我最近对此的编辑。干杯