1、定义一个按钮,必须指定其type属性,否则ff会把它当作提交按钮处理(ie默认为button):
<button type=\"button\" id=\"BtnUpload\" name=\"BtnUpload\" disabledx class=\"btn\" onclick=\"UploadFormMgr.UploadFile('');\"> 上传 </button>";
2、用parentNode 代替parentElement
ff不支持parentElement,但是ff、ie都支持DOM方式
3、用cursor:pointer 替换cursor:hand
定义鼠标经过时显示为“手”状时,经常用cursor:hand,ff中不支持这种写法, cursor:pointer 可以兼容之。
4、用脚本定义对齐方式 使用如下方法:
myrow.cells[i].style.textAlign = "align";
而不是myrow.cells(i).align = "align";
5、操作属性时用setAttribute("attName",attValue)、getAttribute("attName"),不要用 .attName 的方式。
6、childNodes获取的节点
childNodes的下标的含义在IE和Firefox中不同,Firefox使用DOM规范,childNodes中会插入空白文本节点。
获取子节点时,一般可以通过node.getElementsByTagName()来回避这个问题。
7、removeChild替换removeNode()
Firefox中节点没有removeNode方法,必须使用如下方法
node.parentNode.removeChild(node);
8、innerText
IE支持,FIREFOX不支持
FF中设置内容文本是用textConent属性.
9、XMLHTTP的区别
FireFox中的创建方法为:
xmlhttp=new XMLHttpRequest()
而在IE中为:
xmlhttp=new ActiveXObject(”Microsoft.XMLHTTP”)
10、img的src刷新问题
在IE 下可以用 可以刷新图片,但在FireFox下不行。主要是缓存问题,在地址后面加个随机数就解决了:
myImg.src=this.src+’?'+Math.random(); 待续。。
11、innerHTML和innerText
IE中innerText可以修改,但是ff中不能修改。
4条经验:
1、在定义 页面元素的时候,如果该页面元素不需要被脚本调用,那么它就不需要定义其name和id属性;
2、如果需要定义页面元素的name,id属性,那么避免不同元素的name和id相同;
3、如果没有特殊需要,尽量让name和id相同,这主要是为了通用
4、在脚本中,获得元素时,尽量用document.getElementById("name / id") ,能不使用尽量不使用其他的。