参考:zisetoufa的博客,参考网址为:http://zisetoufa.iteye.com/blog/1833965
1 innerText IE(其他浏览器也支持)支持,火狐不支持
解决办法:用innerHTML,他们都支持。或者可以通过分别支持。火狐支持textContent。
可以通过 (typeof element.textContent =="string") ? element.textContent : element.innerText;
2 document.createElement("xx");IE和火狐均支持
插入行时,火狐支持,IE不支持。
解决办法:把行插入到tbody中,不要直接插入到表
3 setAttribute('style','color:red;')
火狐(其他浏览器也支持)支持,IE不支持
解决办法:不用setAttribute("style",'color:red');用object.style.cssText="color.red";该方法也有例外,所以,都用上
4 setAttribute('class','styleClass')
FIREFOX 支持,IE不支持(指定属性名为CLASS,IE不会设置元素的CLASS属性,相反只使用SETATTRIBUTE时IE自动识别CLASSNAME属性)
解决办法:
setAttribute('className','styleClass'),2中方法都用上即可解决兼容性
5 用setAttribute设置事件
var obj = document.getElementByIdx_x('objId');
obj.setAttribute('onclick','funcitonname();');
FIREFOX 支持,IE不支持
解决办法:
IE中必须用点记法来引用所需的事件处理程序,并且要用赋予匿名函数
如下:
var obj = document.getElementByIdx_x('objId');
obj.οnclick=function(){fucntionname();};
这种方法所有浏览器都支持
其他的:
建立单选钮
IE以外的浏览器
var rdo = document.createElement_x('input');
rdo.setAttribute('type','radio');
rdo.setAttribute('name','radiobtn');
rdo.setAttribute('value','checked');
IE:
var rdo =document.createElement_x("<input type='radio' name='radiobtn' value='checked'>");
解决办法:
这一点区别和前面的都不一样。这次完全不同,所以找不到共同的办法来解决,那么只有IF-ELSE了
万幸的是,IE可以识别出document的uniqueID属性,别的浏览器都不可以识别出这一属性。问题解决。
0:共同的一些技巧
在动态建立INPUT型输入元素时,一般是先加入,在设置TYPE。这就有可能出错
好习惯:var btn = document.createElement_x('input');
btn.setAttribut('type','button');
document.getElementByIdx_x('formId').appendChild(btn);
794

被折叠的 条评论
为什么被折叠?



