-
通過元素的屬性
可以直接通過元素屬性獲取或操作特性,但是隻有公認的特性(非自定義的特性),例如
id
、title
、style
、align
、className
等,注意,因為在ECMAScript中,class
是保留字(在ES6中成了關鍵字),所以就不能再用class
這個屬性名來表示元素的CSS類名了,只能換成className
。 -
通過
getAttribute()
、setAttribute()
、removeAttribute()
也可以通過這三個DOM方法來操作DOM元素的特性,例如
let div = document.getElementById("my-div"); div.getAttribute("id"); // 獲取id div.getAttribute("title"); // 獲取title div.getAttribute("class"); // 獲取元素的CSS類名,因為是傳引數給getAttrbute函式,所以可以用class div.getAttribute("dat-my-attribute"); // 獲取自定義特性 div.setAttribute("id","anotherId"); // 設定id div.removeAttribute("title"); // 刪除title 複製程式碼
從上面可以看出來,用這種方法,不僅可以獲取到公認的特性,也可以獲取自定義的特性。不過有兩類特殊的特性,在通過屬性獲取和通過方法獲取時獲取到的卻不一樣,一類是
style
,通過屬性訪問獲取到的是一個物件,通過getAttribute
獲取到的是CSS文字;另一類就是事件處理程式如onclick
,通過屬性獲取,得到的是一個函式,而通過getAttribute
獲取得到的則是相應函式程式碼的字串。 -
通過元素的
attributes
屬性Element型別的DOM元素都有一個
attributes
屬性,如div.attributes
,這樣獲取到的是一個NamedNodeMap,是一個動態的集合,和陣列類似,也有length
屬性、可以通過下標訪問遍歷等,通常用途就是遍歷元素特性,裡面存放的是多個Att節點,每個節點的nodeName
就是特性名稱,nodeValue
就是特性的值。它有一些方法,如下:getNamedItem(name)
:返回nodeName
為name的節點setNamedItem(node)
:向集合中插入一個Attr節點removeNamedItem(name)
:刪除集合中nodeName
為name的節點item(pos)
:返回位於數字pos位置的節點 例如要獲取id,有如下程式碼
let div = document.getElementById("my-div"); div.attributes.getNamedItem("id").nodeValue; div.attributes["id"].nodeValue; //後兩行程式碼都可以獲取到id,下面為簡寫形式 複製程式碼
從上面可以看出,這種方式最麻煩,所以平時基本不用,一般在遍歷元素的特性時才會用到。 上面三種方式中,方式1是最常使用的,其次是2,最後才是第三種方式。
獲取或操作DOM元素特性的幾種方式
相關文章
- js獲取頁面dom元素的幾種常用方式JS
- dom元素操作獲取等
- javascript獲取url地址的幾種方式JavaScript
- PG獲取檔案大小的幾種方式
- Spring - 獲取ApplicationContext的幾種方式SpringAPPContext
- COOKIE的幾種操作方式Cookie
- 在SpringMVC中獲取request物件的幾種方式SpringMVC物件
- 獲取WebLogic版本號有以下幾種方式Web
- 獲取Java執行緒返回值的幾種方式Java執行緒
- Spring在程式碼中獲取bean的幾種方式SpringBean
- AngularJS中獲取資料來源的幾種方式AngularJS
- Groovy獲取Bean兩種方式(奇淫技巧操作)Bean
- 在專案中獲取Spring的Bean的幾種方式SpringBean
- jQuery捕獲-獲取DOM元素內容和屬性jQuery
- 原生javascript獲取dom元素簡單介紹JavaScript
- 獲取cookie的3種方式Cookie
- js獲取數字陣列最大值的幾種方式JS陣列
- android操作XML的幾種方式AndroidXML
- [譯] 使用 closest() 函式獲取正確的 DOM 元素函式
- 四種操作xml的方式: SAX, DOM, JDOM , DOM4J的比較XML
- JavaScript獲取HTML DOM節點元素詳解(轉)JavaScriptHTML
- 【方法整理】Oracle 獲取trace跟蹤檔名的幾種常用方式Oracle
- vue1和vue2獲取dom元素的方法Vue
- 關於動態建立的DOM元素獲取不到的問題。
- jquery設定元素css樣式的幾種方式jQueryCSS
- 原生js為元素繫結事件的幾種方式JS事件
- php讀取檔案的幾種方式PHP
- js獲取元素的方法(獲取html元素的方法)JSHTML
- iframe的操作-Js/Jquery獲取iframe中的元素JSjQuery
- 獲取React元件的DOMReact元件
- 根據dom物件或其id獲取物件位置的程式碼物件
- oracle產生事務transaction幾種方式或方法Oracle
- jQuery選擇器獲取前幾個元素jQuery
- vue+axio通過獲取dom元素上傳檔案Vue
- JS獲取元素寬高的兩種情況JS
- 大資料量獲取TopK的幾種方案大資料TopK
- java獲取當前路徑的幾種方法Java
- Android 獲得View寬高的幾種方式AndroidView