源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

使用JS操作页面表格,元素的一些技巧

  • 时间:2022-11-25 20:57 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:使用JS操作页面表格,元素的一些技巧
(一) ie 、firefox以及其它浏览器对于 table 标签的操作都各不相同,在ie中不允许对table和tr的innerHTML赋值,使用js增加一个tr时,使用appendChile方法也不管用。下面是我就三种浏览器测试的结果:  insertRow IE6 :支持,而且默认参数为-1,默认添加到最后 FireFox :支持,但部支持默认参数 Opera :支持,支持默认参数,默认添加到最前 AppendChild IE6 :不支持 FireFox :支持,但增加TR后不影响ROWS Opera :支持,效果同insertRow(-1),影响ROWS  最大限度的遵循规范,就能写出安全的、适用性强的代码了:  //向table追加一个空行: var otr = otable.insertRow(-1); var otd = document.createElement("td"); otd.innerHTML = " ";  otd.className = "XXXX";  otr.appendChild(otd);  这样就可以运行在这三种浏览器上了 (三)childNodes的操作 (1)属性nodeName Utils.getChildrenByTagName = function (node, tagName) {     var ln = node.childNodes.length;     var arr = [];     for (var z = 0; z < ln; z++) {         if (node.childNodes[z].nodeName == tagName) {             arr.push(node.childNodes[z]);         }     }     return arr; }; (2)属性id function getNodeID(parent, id) {     var ln = parent.childNodes.length;     for (var z = 0; z < ln; z++) {         if (parent.childNodes[z].id == id) {             return parent.childNodes[z];         }     }     return null; } (3)属性className 对应class,如 <tr class="class1">  function getElementsByClassName(node, className) {     var children = node.getElementsByTagName("*");     var elements = new Array();     for (var i = 0; i < children.length; i++) {         var child = children[i];         var classNames = child.className.split(" ");         for (var j = 0; j < classNames.length; j++) {             if (classNames[j] == className) {                 elements.push(child);                 break;             }         }     }     return elements; }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部