一、屬性類型與屬性值
在JS中,屬性可分為兩大類:內置屬性和自定義屬性。內置屬性是已經存在的,無需添加,比如元素的class、id、src等。而自定義屬性是通過JS來添加的,可以按需求隨意添加。只要掌握了JS添加屬性的方法,自定義屬性可以滿足我們對元素屬性的多種需求。
添加屬性時,最重要的是確定屬性值,屬性值可以是字符串、數值、布爾值及函數等各種類型。從屬性值的角度來看,JS中的屬性可以大致分為以下幾種:
1.字符串屬性:例如title、src、class等 2.數值屬性:例如width、height等 3.布爾屬性:例如disabled、checked等 4.函數屬性:例如onclick、onblur等,其值為函數的名稱或自定義函數
二、setAttribute方法添加屬性
在JS中,setAttribute方法是最常用的添加屬性方法之一。該方法用來為某個元素設置屬性及其對應的值。
//示例代碼:為id為"myDiv"的元素添加data-index屬性,屬性值為1 var myDiv = document.getElementById("myDiv"); myDiv.setAttribute("data-index", "1");
該方法接收兩個參數,第一個參數是要添加屬性的屬性名,第二個參數是屬性值。通過該方法添加的屬性會自動轉換為字符串類型。
三、直接設置屬性值
除了使用setAttribute方法之外,還可以通過直接設置元素的屬性值來添加屬性。不過需要注意的是,這種方法只適用於非布爾屬性。布爾屬性可以直接通過簡單的賦值語句來添加,賦值為true或false即可。
//示例代碼:直接為id為"myDiv"的元素添加data-index屬性,屬性值為1 var myDiv = document.getElementById("myDiv"); myDiv.data-index = 1; //添加布爾屬性checked var checkbox = document.getElementById("myCheckbox"); checkbox.checked = true;
四、使用dataset添加自定義屬性
若要添加一個自定義屬性,可以使用dataset屬性,通過該屬性將自定義屬性添加到元素上。dataset屬性可以讀取元素上所有以”data-“開頭的屬性,並轉換成駝峰命名法。
//示例代碼:為id為"myDiv"的元素添加data-index屬性,屬性值為1 var myDiv = document.getElementById("myDiv"); myDiv.dataset.index = 1;
該方法添加的屬性會自動轉換為字符串類型,屬性名不需要添加”data-“前綴。
五、在HTML代碼中添加屬性
除了通過JS來添加屬性,也可以在HTML代碼中直接添加屬性。並且JS也可以訪問在HTML代碼中添加的屬性。
//HTML代碼 <div id="myDiv" data-index="1"></div> //JS代碼 var myDiv = document.getElementById("myDiv"); console.log(myDiv.dataset.index); //輸出1
六、總結
JS添加屬性是日常開發中不可或缺的功能之一,通過本文,我們了解到了多種方法來添加不同類型的屬性,將為我們的開發工作提供更便捷、快捷的操作方式。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/186256.html