1. 程式人生 > 其它 >extjs獲取元素name屬性值_JavaScript通過元素id和name直接獲取元素物件

extjs獲取元素name屬性值_JavaScript通過元素id和name直接獲取元素物件

技術標籤:extjs獲取元素name屬性值

在以前做專案程式設計的時候,還是自己寫Demo練習的時候,不管是用JavaScript還是用Jquery給標籤元素繫結物件,都習慣使用選擇器進行元素標籤物件的獲取,在最近看專案的過程中發現有人習慣直接使用I標籤的ID或者Name直接獲取物件,我在看到程式碼的時候還一下沒反應過來,在這裡做個記錄,避免忘記

使用選擇器獲取物件並繫結事件

  

我們都知道,id和name兩個屬性在JS中是很特殊的兩個屬性,我們很多情況下關於獲取物件,繫結事件用得最多的是id。在前後臺值的傳遞的時候我們更多的用的是name。兩者都很重要,也有不同,id在頁面上需保持唯一性。

當在js程式碼中如果標籤的id名和js中內建的函式或者其他保留欄位重名,那麼在頁面載入渲染的時候,在頂層環境中會自動生成一個與Id名相同的window物件,那麼我們在通過id繫結事件的時候也就可以寫成這樣

jqueryTest.onclick=function(){            alert("id");        };

或者這樣

window.jqueryTest.onclick=function(){            alert("id");        };

對於name屬性來說,也有這種特性,不過只限於特定的物件,例如form,iframe,applet,embed,object,img等。

當name屬性唯一時,以form標籤舉例

                          

在這裡,我們不給表單做submit按鈕,而是直接用button,點選後一樣會觸發form表單的submit事件。

當name 不唯一的時候,這裡我們以embed標記舉例,當name不唯一時,生成是是一個只讀的陣列,我們可以用for迴圈或者for each進行遍歷

    

這裡控制檯日誌會輸出以下結果

15be10f3ea256a0ed47bdd8438a2e497.png

以上就是通過元素id或者name直接取值的方法,當然作為一個非專業前端人員,個人推薦還是使用選擇器進行取值,因為直接用name或id,當一個對程式碼不熟悉的人直接看到這個程式碼的時候,第一反應就是testName.submit()這種要麼testName是一個封裝的物件,要麼就是自己框架的方法。