Hi,我是POPEYE,今天要來談談 getAttribute 與 setAttribute 。
getAttribute 與 setAttribute 是兩個我比較容易混淆的 JS 方法,所以我花了一點工夫來研究一下這兩個方法如何使用。
首先要了解這兩種方法是存取與操作 HTML 標籤屬性的方法,都必須要透過選取到某個 HTML DOM 節點來操作,所以寫法上一定是這樣子:
getAttribute
getAttribute 用來取得 HTML 標籤的屬性值,如果指定的屬性不存在,則會回傳 null 或 “”。
所以我們可以把 HTML 節點的屬性值取出,拿來組字串之後,再塞回本來的節點去。
本來 <h2>
標籤中 「最安靜的時刻,回憶總是最喧囂」 ,被改成 「我最喜歡的歌詞是《Mayday》唱的《null》,裡面這一句「最安靜的時刻,回憶總是最喧囂」」囉!!!
setAttribute
setAttribute 的功用在於修改 HTML 節的的屬性。
不囉嗦!來看一下範例:
getAttribute 與 setAttribute 的進階使用
除了用來操作屬性之外,在做事件監聽的時候,也可以利用 getAttribute 來做一些判斷:
在這裡利用 e.target.getAttribute('class')
來判斷如果點擊到的 class
屬性如果是 item3
, 則把 e.target 的 class 屬性變成藍色的。
MDN 有把 getAttribute 與 setAttribute 這兩個節點方法可以操作的 HTML 屬性列出來,有需要時可以參考一下: