开发跨浏览器JavaScript时要注意的问题
1、 向表中追加行
定义table时使用tbody元素,以保证包括IE在内的所有浏览器可用
例:定义如下一个空表
<table id=”myTable”>
<tbody id=”myTableBody”></tbody>
</table>
向这个表中增加行的正确做法是,把行增加到表体,而不是增加到表。
Var cell = document.createElement(“td”).appendChild(document.createTextNode(“foo”));
Var row = document.createElement(“tr”).appendChild(cell);
Document.getElementById(“myTableBody”).appendChild(row);
*IE中需要先创建行,再创建列,再创建内容
2、 设置元素的样式
Var spanElement = document.getElementById(“mySpan”);
//下面写法保证出IE外,所有浏览器可用
spanElement.setAttribute(“style”,”font-weight:bold;color:red;”);
//下面的写法保证IE可用
spanElement.style.cssText=”font-weight:bold;color:red;”;
3、 设置元素的class属性
Var element = document.getElementById(“myElement”);
//下面的写法保证除IE外,所有浏览器可用
Element.setAttribute(“class”,”styleClass”);
//下面写法保证IE可用
Element.setAttribute(“className”,”styleClass”);
4、 创建输入元素
Var button = document.createElement(“input”);
//单行文本框、复选框、单选框、单选钮、按钮需要此属性区别
Button.setAttribute(“type”,”button”);
Document.getElementById(“formElement”).appendChild(button);
5、 向输入元素增加事件处理程序
Var formElement=document.getElementById(“formElement”);
//所有浏览器可用
formElement.onclick=function(){doFoo();};
//除IE外,所有浏览器可用
formElement.setAttribute(“onclick”,”doFoo();”);
6、 创建单选钮
If(document.uniqueID){
//Internet Explorer
Var radioButton=document.createElement(“<input type=’radio’ name=’radioButton’ value=’checked’>”);
}else{
//Standards Compliant
Var radioButton=document.createElement(“input”);
radioButton.setAttribute(“type”,”radio”);
radioButton.setAttribute(“name”,”radioButton”);
radioButton.setAttribute(“value”,”checked”);
}
7、 insertRow,insertCell,deleteRow
在IE中,table.insertRow()如果没有指定参数,则在表格后面添加行,默认参数位-1;如果在Firefox中,则一定要加参数,如:insertRow(-1)。
1、 向表中追加行
定义table时使用tbody元素,以保证包括IE在内的所有浏览器可用
例:定义如下一个空表
<table id=”myTable”>
<tbody id=”myTableBody”></tbody>
</table>
向这个表中增加行的正确做法是,把行增加到表体,而不是增加到表。
Var cell = document.createElement(“td”).appendChild(document.createTextNode(“foo”));
Var row = document.createElement(“tr”).appendChild(cell);
Document.getElementById(“myTableBody”).appendChild(row);
*IE中需要先创建行,再创建列,再创建内容
2、 设置元素的样式
Var spanElement = document.getElementById(“mySpan”);
//下面写法保证出IE外,所有浏览器可用
spanElement.setAttribute(“style”,”font-weight:bold;color:red;”);
//下面的写法保证IE可用
spanElement.style.cssText=”font-weight:bold;color:red;”;
3、 设置元素的class属性
Var element = document.getElementById(“myElement”);
//下面的写法保证除IE外,所有浏览器可用
Element.setAttribute(“class”,”styleClass”);
//下面写法保证IE可用
Element.setAttribute(“className”,”styleClass”);
4、 创建输入元素
Var button = document.createElement(“input”);
//单行文本框、复选框、单选框、单选钮、按钮需要此属性区别
Button.setAttribute(“type”,”button”);
Document.getElementById(“formElement”).appendChild(button);
5、 向输入元素增加事件处理程序
Var formElement=document.getElementById(“formElement”);
//所有浏览器可用
formElement.onclick=function(){doFoo();};
//除IE外,所有浏览器可用
formElement.setAttribute(“onclick”,”doFoo();”);