使用JS操作页面表格,元素的一些技巧_Javascript教程-查字典教程网
使用JS操作页面表格,元素的一些技巧
使用JS操作页面表格,元素的一些技巧
发布时间:2016-12-30 来源:查字典编辑
摘要:(一)ie、firefox以及其它浏览器对于table标签的操作都各不相同,在ie中不允许对table和tr的innerHTML赋值,使用j...

(一)

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追加一个空行:

varotr=otable.insertRow(-1);

varotd=document.createElement("td");

otd.innerHTML="";

otd.className="XXXX";

otr.appendChild(otd);

这样就可以运行在这三种浏览器上了

(三)childNodes的操作

(1)属性nodeName

Utils.getChildrenByTagName=function(node,tagName){

varln=node.childNodes.length;

vararr=[];

for(varz=0;z<ln;z++){

if(node.childNodes[z].nodeName==tagName){

arr.push(node.childNodes[z]);

}

}

returnarr;

};

(2)属性id

functiongetNodeID(parent,id){

varln=parent.childNodes.length;

for(varz=0;z<ln;z++){

if(parent.childNodes[z].id==id){

returnparent.childNodes[z];

}

}

returnnull;

}

(3)属性className

对应class,如<trclass="class1">

functiongetElementsByClassName(node,className){

varchildren=node.getElementsByTagName("*");

varelements=newArray();

for(vari=0;i<children.length;i++){

varchild=children[i];

varclassNames=child.className.split("");

for(varj=0;j<classNames.length;j++){

if(classNames[j]==className){

elements.push(child);

break;

}

}

}

returnelements;

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类