<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环境下 .属性 方式获取不到其改变。
推荐阅读
javascript 面向对象全新理练之数据的封装
今天主要讨论如何在 JavaScript 脚本中实现数据的封装(encapsulation)。数据封装说的简单点就是把不希望调用者看见的内容隐藏起来。它是面向对象程序设计的三要素之首,其它两个是继承和多态,关于它们的内容在后>>>详细阅读
本文标题:JS 动态获取节点代码innerHTML分析 [IE,FF]
地址:http://www.17bianji.com/kaifa2/JS/27594.html
1/2 1