您的位置:首页 > Web前端 > JavaScript

JS - [IE,FF]动态获取节点代码innerHTML分析

2009-11-29 23:50 525 查看
[IE,FF]动态获取节点代码innerHTML分析


代码

<div id="parentnode">

<span id="childnode">child</span>

</div>

<script type="text/javascript">

var childNode = document.getElementById("childnode") , parentNode = document.getElementById("parentnode");

</script>

当为子节点添加默认属性时:

childNode.className = "childClass"; 或: childNode.className = new String("childClass");

parentNode.innerHTML IE,FF都能获得 [ <span class="childClass" id="childnode">child</span> ]

当为子节点添加私有属性时:

childNode.type = "childType";

parentNode.innerHTML 当且仅当 IE能获得 [ <span type="childType" id="childnode">child</span> ]

childNode.type = new String("childType"); //Object对象

parentNode.innerHTML IE,FF都不能获得 [ <span id="childnode">child</span> ]

childNode.setAttribute("type","childType");

parentNode.innerHTML IE,FF都能获得 [ <span class="childClass" id="childnode">child</span> ]

childNode.setAttribute("type", new String("childType"));

parentNode.innerHTML 当且仅当 FF能获得 [ <span class="childClass" id="childnode">child</span> ]

当对元素动态添加私有属性后获取innerHTML,如果采用.属性 方式赋值,无论哪种数据类型FireFox都不能获得,如果当赋值的类型是个对象的话IE不能通过innerHTML获得。

如果使用setAttribute方法赋值时,无论哪种数据类型FireFox都能获取,如果当赋值的类型是个对象的话IE不能获取 。

总结:在IE 环境下 赋值类型为对象时 innerHTML 获取不到其改变,在FireFox环境下 .属性 方式获取不到其改变。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: