JS 动态获取节点代码innerHTML分析 [IE,FF]
作者:bea
<div id="parentnode"> <span id="childnode">child</span> </div> <script type="text/javascript"> var childNode = document.getElementById("childnode") , parentNode = document.getElementById("parentnode"); </scr
<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环境下 .属性 方式获取不到其改变。
有用 |
无用
<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环境下 .属性 方式获取不到其改变。
猜你喜欢
您可能感兴趣的文章:
- jQuery Selectors(选择器)的使用(一、基本篇)
- IE与firefox下Dhtml的一些区别小结
- checkbox全选/取消全选以及checkbox遍历jQuery实现代码
- 两种WEB下的模态对话框 (asp.net或js的分别实现)
- JavaScript 报表展示实现代码
- JavaScript Object的extend是一个常用的功能
- 鼠标拖动动态改变表格的宽度的js脚本 兼容ie/firefox
- 用Javascript检查Adobe PDF插件是否安装的实现代码
- JS类的封装及实现代码
- Jquery选择器 $实现原理
- js 表格隔行颜色
- 让FireFox支持innerText的实现代码
- 兼容IE与Firefox的js 复制代码
- JavaScript 直接操作本地文件的实现代码
- js 变量类型转换常用函数与代码[比较全]
- Jquery 快速构建可拖曳的购物车DragDrop
- JavaScript 学习笔记 Black.Caffeine 09.11.28
- Ruffy javascript 学习笔记
- jquery 分页控件实现代码