日期:2014-05-16  浏览次数:20395 次

查看js对象的所有属性而引发的问题

1.查看document.iframe1对象的所有属性。

?

1.查看document.iframe1对象的所有属性。



<html>
<body>
<frameset rows="40%,40%,20%">
<iframe name="iframe1"  src="/example/hdom/frame_a.html" id="frame1" marginheight="50"></iframe>
<iframe src="/example/hdom/frame_a.html" id="frame1" marginheight="50"></iframe>
<iframe src="/example/hdom/frame_a.html" id="frame1" marginheight="50"></iframe>

</frameset>
<br /><br />

<script type="text/javascript">
x=document.getElementById("frame1");
document.write("Top and bottom margins of the iframe are: ");
document.write(x.marginHeight);
alert(document.iframe1);
alert(document.iframe1.name);
var str="";
var res="";
for(var p in document.iframe1){
   res+=p+",";
}
for(var p in x){
   str+=p+",";
}

if(document.iframe1 instanceof x){
   alert("=");
}else{
   alert("bu=");
}
alert(str);
alert(res);
alert(document.iframe1.id);
alert(document.iframe1.src);


document.write(document.iframe1.marginHeight);

</script>

</body>
</html>

 

?

总结:我本来想通过查看所有属性看到iframe标签的src,id等属性,首先用document.iframe1获取iframe1对象,显示所有属性,找不到src,id等属性。再用document.getElementById("iframe1")获取对象,再显示所有属性,这次看到了src,id等属性,而且这次看到的属性比前一次的多很多。显然document.标签名获取的对象document.getElementById("标签id")获取的对象不是完全一样,我的理解是在js规范中这两个对象是一样的,但是各个浏览器的实现上有些区别,我用的是IE8,对两个方式获取文档对象的实现上有差别,第二种方式实现的比较全面,以后还是使用第二种方式获取对象比较好,不容易出错。
?

?

?

?

?