Firefox和IE的JS兼容性:设置元素style熟悉
在IE下setAttribute设置元素的对象、集合和事件属性都只当成普通属性,起不到原有的作用,但可以直接进行赋值操作,如下:
var cssText = ”font-weight:bold;color:red;”
//下面写法用于firefox类型浏览器
element.setAttribute(“style”,cssText);
//下面写法用于IE类型浏览器
element.style.cssText = cssText;
Firefox和IE的JS兼容性:关于checkbox初始化选中
首先,我们通过js创建一个checkbox:
var checkBox = document.createElement("input");
checkBox.type = "checkbox";
然后通过如下设置其选中:
checkBox.checked = true;
// 或者是
checkBox.setAttribute("checked", true);
这段代码在firefox中测试通过,显示出来的checkbox是选中状态,但是在IE中测试不行,显示出来的checkbox是为选中状态。
一个简单的解决办法是通过innerHTML来直接输出checkbox:
var td= document.createElement("td");
td.innerHTML = "<input type="checkbox" checked/>";
Firefox和IE的JS兼容性:创建Table中的数据
最后完整代码如下:
var oTable = document.createElement("table");
var oTBody = document.createElement("tbody");
var oTr = document.createElement("tr");
var oTd = document.createElement("td");
var oText = document.createTextNode("文本");
oTd.appendChild(oText);
oTr.appendChild(oTd);
oTBody.appendChild(oTr);
oTable.appendChild(oTBody );
关键的一点是:必须将数据行append到tbody上,然后将tbody append到table上面,否则如果直接把数据行append到table上,那么在IE里显示出来的table是看不到数据的