欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

firefox的document.getelementsbytagname的错误

更新时间: 2014-01-05 01:56:37 责任编辑: Author_N1

 

Firefox的document.getElementsByTagName的异常
Firefox的document.getElementsByTagName得到的结果与其它浏览器有点不同
下面这段代码,原本我认为for循环会执行4次,因为文档中就4个div标签,但事实是会执行5次.经过测试,body的直属div都会取两次,不知道如何处理这种情况

<html>
<body>
<p id="p1">p1</p>
<div id="mar">
<div>
<div>2</div>
<div>3</div>
</div>
</div>
<script type="text/javascript">
var divs = document.getElementsByTagName("div");
var index = 0;
for (var x in divs)
{
index++;
var p = divs[x];
if (typeof(p) != "object" ) {continue;};
alert(index + ":" + typeof(divs[x]) + "::" + divs[x] + ":::" + divs[x].innerHTML)
};
</script>
</html>

--参考方法--

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<p id="p1">p1</p>
<div id="mar"><div><div>2</div><div>3</div></div></div>
<script type="text/javascript">
var divs = document.getElementsByTagName("div");

var index = 0;
/*
for (var x in divs)
{
    index++;
    var p = x;
    ///if (typeof(p) != "object" ) {continue;};
    alert(index + ":" +  p.innerHTML);

}*/
for(var i=0;i<divs.length;i++){
    index++;
    var p = divs.item(i);
    alert(index + ":" +  p.innerHTML);
}
</script>
</body>
</html>

--参考方法--
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:56:37
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/3407/
本文WWW.DOC100.NET DOC100.NET版权所有。