作家
登录

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

作者: 来源:www.28hudong.com 2013-03-30 03:45:53 阅读 我要评论

(一) 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; }

  推荐阅读

  Javascript的荧光字效果

荧 光 效 果 例 子 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]>>>详细阅读


本文标题:使用JS操作页面表格,元素的一些技巧

地址:http://www.17bianji.com/kaifa2/JS/31002.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)