-
通過元素的屬性
可以直接通過元素屬性獲取或操作特性,但是隻有公認的特性(非自定義的特性),例如
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元素特性的幾種方式
相關文章
- dom元素操作獲取等
- Spring - 獲取ApplicationContext的幾種方式SpringAPPContext
- IOS 自動化,幾種特殊情況下 UI 元素獲取的方式iOSUI
- PG獲取檔案大小的幾種方式
- Spring在程式碼中獲取bean的幾種方式SpringBean
- 獲取Java執行緒返回值的幾種方式Java執行緒
- jQuery捕獲-獲取DOM元素內容和屬性jQuery
- Groovy獲取Bean兩種方式(奇淫技巧操作)Bean
- [譯] 使用 closest() 函式獲取正確的 DOM 元素函式
- js獲取數字陣列最大值的幾種方式JS陣列
- vue1和vue2獲取dom元素的方法Vue
- iframe的操作-Js/Jquery獲取iframe中的元素JSjQuery
- php讀取檔案的幾種方式PHP
- 獲取React元件的DOMReact元件
- vue+axio通過獲取dom元素上傳檔案Vue
- 如何用jst獲取DOM元素在頁面中的絕對位置?JS
- JS獲取元素寬高的兩種情況JS
- 表格資料處理的2種寫法,偽元素和操作dom
- SpringBoot讀取配置資料的幾種方式Spring Boot
- oracle產生事務transaction幾種方式或方法Oracle
- android獲取控制元件的幾種方法Android控制元件
- 大資料量獲取TopK的幾種方案大資料TopK
- Java中獲取Class物件的三種方式Java物件
- SpringBoot獲取HttpServletRequest的3種方式總結Spring BootHTTPServlet
- 動態生成DOM元素的高度及行數獲取與計算方法
- Asp.Net MVC控制器獲取檢視傳值幾種方式ASP.NETMVC
- Python獲取list中指定元素索引的兩種方法Python索引
- Spring Boot讀取配置檔案的幾種方式Spring Boot
- 獲取倒數第幾個元素程式碼例項
- 獲得資料庫操作日誌的三種方式資料庫
- [譯]13 種有用的 JavaScript DOM 操作JavaScript
- Vue入門指南-08 Vue中的標籤/如何獲取DOM元素(快速上手vue)Vue
- 獲取DOM元素到頁面頂部的距離,親測有效版本(轉載)
- Spring6 當中 獲取 Bean 的四種方式SpringBean
- 使用快取(Cache)的幾種方式,回顧一下~~~快取
- jquery如何獲取第一個或最後一個子元素?jQuery
- JS 獲取文件元素JS
- 前端 | Vue nextTick 獲取更新後的 DOM前端Vue