以下是 我在开发中遇到的情况:
1、动态删除table里的某一行。
table:表示table对象。
k:表示行号
table.rows[k].removeNode(true); //firefox执行失败,ie执行成功
IE与FireFox兼容写法
table.deleteRow(k);
2、为HTML标签自定义属性。
inputElement:表示表单元素。
propertyName:表示表单元素下的某个属性
inputElement.propertyName; //firefox执行失败,ie执行成功
IE与FireFox兼容写法
document.getElementById("txtInput").attributes["idvalue"].nodeValue3、在指定位置插入HTML元素。
inputElement:表示表单元素。
vDiv:表示将要插入的HTML元素。
inputElement.insertAdjacentElement("AfterEnd",vDiv);//firefox执行失败,ie执行成功
IE与FireFox兼容写法
在firefox中,没有该方法的定义,因此,如果需要调用该方法,需要自己重定义该方法。
//重写insertAdjacentElement()方法,因为firefox中没有该方法 HTMLElement.prototype.insertAdjacentElement=function(where,parsedNode){ switch(where){ case "beforeBegin": this.parentNode.insertBefore(parsedNode,this); break; case "afterBegin": this.insertBefore(parsedNode,this.firstChild); break; case "beforeEnd": this.appendChild(parsedNode); break; case "afterEnd": if(this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling); else this.parentNode.appendChild(parsedNode); break; } }
4、break语句失效。
在IE里执行for循环语句时原本使用break可以跳出当次循环。但在FF里面就变成了退出整个循环。这时候改用continue语句即可。5、firefox报String contains an invalid character。
var chkBox=document.createElement(' '); //在IE下成功执行
IE与FireFox兼容写法
firefox不支持这种createElement的定义方式,需要分步进行:
var chkBox = document.createElement('input');
chkBox.name = "treeBox";
chkBox.type = "checkbox";
chkBox.value = key;
6、table 对象的 (表格行)对象的集合 bdList.rows(k).cells(0).innerHTML = "
aaa ";//firefox执行失败,ie执行成功
IE与FireFox兼容写法
bdList.rows[k].cells[0].innerHTML = "
aaa ";
7、JS的getYear()方法在firefox里的问题
var today = new date(); var year = today.getYear(); 在 Firefox 里面 getYear 返回的是 "当前年份-1900" 的值 IE里面则: 当today的年份小于2000的时候,和firefox一样。所以最好用 getFullYear getUTCFullYear 去调用
IE与FireFox兼容写法
var today = new date(); var year = today.getFullYear();
Stellungnahme: Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn