1、childNodes引入空白節點問題:使用childElementCount或children
2、innerText: FF中不支持該屬性,使用textContent代替
3、變量名與某HTML對象id相同時,引用該變量只會取得id名與其相同的html對象(ie8-);聲明變量時前面一律加上var,盡量避免id名與變量名相同
4、為ele.style.property賦值時一律帶上單位:e.style.height= 34 + ‘px’
5、禁止選擇網頁內容:
6、訪問form中的元素:ff只支持document.formName.elements['elementName']的方式,ie下可以使用document.formName.item('name');統一使用elements的方式;凡是遇到集合類對象(NodeCollection、NodeList)一律使用collection['name']的方式
7、自定義html元素特性問題:IE下可以使用e.selfAttr = variable/e.selfAttr方式來設值和取值,FF中只能使用e.setAttribute(attr, value)/e.getAttribute('attr')方式
8、input元素的type特性問題:IE下該屬性是只讀的,FF中可以動態設置;一律不能修改,若需要修改則刪除原來元素,重新創建新元素
9、window.location.href問題:就瀏覽器可以通過這種方式來獲取當前頁面url;應當統一使用window.location來方位頁面url,如:location.hostname,location.port,location.pathname
10、在瀏覽器中打開新窗口問題:
View Code
11、body載入問題:FF中的body對象在body標簽為載入完全時即可訪問,IE下必須完全讀入后才執行
12、function、new function(){}、new Function('.....')三者的區別
13、FF中不支持e.parentElement方式方位父元素,只能使用e.parentNode方式
14、Table操作問題,IE中無法使用innerHTML方式對table和tr進行操作;一般方法是借助js類庫,將innerHLML轉化為dom節點,并插入到tbody下
15、IE下不支持使用e.setAttribute方式來整體設值style屬性問題:同時使用e.setAttribute('style', '.......')和e.style.cssText = ‘。。。。。。。’方式來設置
16、document.createElement('<div class="name"></div>')方式創建html元素在FF中不支持
17、iframe問題:
<iframe src="xxx.html" id="frameId" name="frameName" />
IE 中可以通過window.top.frmaeId或window.top.frameName方式來訪問farme;FF中只支持第二種方式;IE在iframe資源未加載完成時無法訪問iframe.contentWindow對象
18、url encoding 問題:encodeURIComponent適用于對url后的參數編碼、encodeURI:主要用于location對象跳轉時對整個url編碼
19、節點插入問題:IE:insertAdjacentElement(position,src);FF:insertBefore(src, ref)
20、IE9以下不能訪問html元素的構造器,如判斷元素是否為HTMLElement方法只能使用:e.nodeType === 1不能使用 e instanceof HTMLElement方式