序號 | 操作 | 分類 | IE | FireFox | Mozilla | 當前 | 備注 |
1 | "." | 訪問tag的固有屬性 | OK | OK | OK | OK |
|
2 | "." | 訪問tag的用戶定義屬性 | OK | NO | NO | OK | 可以用getAttribute函數 替代 |
3 | obj.getAttribute | 訪問tag的固有屬性 | OK | OK | OK | OK |
|
4 | obj.getAttribute | 訪問tag的用戶定義屬性 | OK | OK | OK | OK |
|
5 | document.all | 訪問document的所有子元素 | OK | OK | NO | OK | 建議用childNodes對象或者getElementById函數實現(xiàn)對應操作。 |
6 | obj.all | 訪問非document元素的所有子元素 | OK | NO | NO | OK | 同上 |
7 | getElementById() | 根據元素的id/name來取得元素。 | OK | NO | NO | OK | 注意:很多元素是沒有name屬性的,eg: td, div,span... |
8 | 變量名 = "" | 隱式定義變量-通過向變量名附值方式定義一個新的變量。 | OK | OK | OK | OK | 建議:為避免必要的麻煩,顯示定義變量。 |
9 | id | 通過id直接調用對象 | OK | OK | NO | OK | eval()函數用來執(zhí)行腳本,所以向eval函數里面?zhèn)魅雽ο骾d/name的話,IE同樣會返回對象的引用。 |
10 | name | 通過name直接調用對象 | OK | NO | NO | OK | 同上/ 原因同7 |
11 | name | 支持的特殊字符("!",".","@","#","$","<",...) | NO | OK | OK | NO | 其它的字符沒有測試 |
12 | tr.innerHTML = "" | 設置TR元素的內部HTML腳本 | NO | OK | OK | NO | 在IE中,table、tr的innerHTML是只讀屬性,不能夠對其直接設置。可以通過insertRow/insertCell函數進行設置。 |
13 | cells對象訪問 | 訪問tr的cells對象 | NO | OK | OK | undefined | 可以將其插入Table再訪問,或者可以用getElementsByTagName函數 對td/th訪問。 |
14 | (index) | 訪問集合類對象 | OK | NO | NO | OK | 建議用正式的操作符"[]". |
15 | obj.toString() | 取得對象的字符串"[object 對象類型的名稱]". | NO | OK | OK | NO | 可以省略toString()函數,直接用對象來操作。 |
16 | obj.class | 定義對象的css式樣/風格。 | NO | OK | NO | - | 無法寫測試代碼,會有編譯錯誤!可以自己用typeof(class) == null來測試一下,沒有異常就在代碼中可以使用。 |
17 | const | 保留關鍵字,用于定義常量。 | NO | OK | OK | - | 暫時只能不使用const。 |
18 | input.type | 變更input元素的類型 | NO | OK | OK | NO | IE可以初始input元素類型,但是不能變更類型。 |
19 | obj.children | 訪問對象的子元素集合 | OK | NO | NO | OK | 可以用childNodes對象替代。 |
20 | node.replaceNode | 替換新的節(jié)點對象 | OK | NO | NO | OK | 可以用replaceChild函數替換。 |
21 | node.removeNode | 刪除已有節(jié)點對象 | OK | NO | NO | OK | 可以用oldNode.parentNode.removeChild(oldNode)方式實現(xiàn)。 |
22 | node.insertBefore | 在指定節(jié)點對象前面插入一個節(jié)點對象 | OK | OK | OK | OK |
|
23 | obj.parentElement | 訪問對象的父元素 | OK | NO | NO | OK | 可以用parentNode對象替代。 |
24 | obj.childNodes.length | 返回子節(jié)點的數量,和tag的數量相同。 | OK | NO | NO | OK | FF/Mozilla中,空白或者換行是文本節(jié)點,是childNodes的成員。 |
25 | obj. | 向指定的位置插入元素 | OK | NO | NO | OK | insertAdjacentElement函數和insertAdjacentText函數也類似。 |
26 | createElement() | 創(chuàng)建指定類型元素。 | OK | NO | NO | OK | 可以先創(chuàng)建出對象元素,再進行屬性設置;或者直接以InnerHTML的形式加到對應位置。 |
27 | nodeName | 取對象(tag,attribute,textnode)節(jié)點名稱 | OK | OK | OK | OK | 有人說存在差異,不知道是具體的前提條件,先記錄備考。 |
28 | window.event | 取得當前的事件對象 | OK | NO | NO | ? | 可以主動向事件的響應函數傳入event參數。 |
29 | event.target | 取得事件的觸發(fā)對象 | NO | OK | OK | ? | 可以和srcElement共同使用;可以主動向事件的響應函數傳入觸發(fā)對象元素。 |
30 | event.srcElement | 取得事件的觸發(fā)對象 | OK | NO | NO | ? | 可以和target共同使用;可以主動向事件的響應函數傳入觸發(fā)對象。 |
31 | event對象屬性 | 當前三個瀏覽器的共同擁有的屬性: | altLeft | bubbles | bubbles | ? | event對象的不同點太多,在使用的時候需要一一檢查才行。具體可以用頁面下方的測試區(qū)域試驗。 |
32 | 注冊event | 用attachEvent函數注冊 | OK | NO | NO | - | 小心內存泄漏?。?! |
33 | 注冊event | addEventListener函數注冊 | NO | OK | OK | - |
|
34 | 注冊event | obj.onxxx = Function("響應函數名稱或代碼");方式注冊 | OK | OK | OK | - |
|
35 | 銷毀event | detachEvent函數銷毀 | OK | NO | NO | - |
|
36 | 銷毀event | removeEventListener函數銷毀 | NO | OK | OK | - |
|
37 | 銷毀event | obj.onxxx = null;方式注冊 | OK | OK | OK | - |
|
38 | 觸發(fā)event | fireEvent函數 | OK | NO | NO | - |
|
39 | 觸發(fā)event | dispatchEvent函數 | NO | OK | OK | - |
|
JavaScript技術:編寫跨瀏覽器的javascript代碼必備[js多瀏覽器兼容寫法],轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。