ie不兼容的几个js问题及解决办法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ie不兼容的几个js问题及解决办法相关的知识,希望对你有一定的参考价值。

1、table问题

在动态新增tr或者td时,createElement()一般用appendChild();都不生效,解决办法是用新增tbody,如

var table=document.createElement("table");

var tvody=document.createElement("tbody");

var tr=document.createElement("tr");

var td=document.createElement("td");

table.appendChild(tbody.appendChile(tr.appendChild(td)));

 

2、innerhtml的问题

在IE中不支持动态的写table的innerHTML,但是支持div或者span的innerHTML动态读写。

 

  3、设置样式问题

内敛样式:如果obj.setAttribute("stylename");stylename对应的样式不会生效。解决方法:obj.style.cssText="stylename";

外部样式:obj.setAttribute("class":"className");className对应的外部样式照样不会生效。解决办法:obj.setAttribute("className","className");

 

4、设置属于元素的事件

对于一个文本obj,IE不支持obj.setAttribute("onclick","functon()"),设置它的onclick属性做法。解决办法:obj.onclick=function(){}。注意的是:此处需要放一个匿名的函数

 

5、动态创建单选按钮

用create和setAttribute()是解决不了问题的。解决办法:直接document.createElement("<input type=‘radio‘ name=‘myradio‘>");来的更痛快一些

 

6、最后就是用document判断浏览器是否为IE的一个方法,document.uniqueID,因为只有IE唯一能识别uniqueID

以上是关于ie不兼容的几个js问题及解决办法的主要内容,如果未能解决你的问题,请参考以下文章

遇到的几个浏览器兼容性问题

关于IE和Firefox兼容性问题及解决办法

解决输入框placeholder属性不兼容IE9及以下浏览器问题

IE6-IE11兼容性问题列表及解决办法总结

超全的IE兼容性问题及解决方案

解决 各浏览器不支持display:flex的最简单办法