setAttribute(name, value)
引數 name 和 value 分別表示屬性名稱和屬性值。屬性名和屬性值必須以字串的形式進行傳遞。如果元素中存在指定的屬性,它的值將被重新整理;如果不存在,則 setAttribute() 方法將為元素建立該屬性並賦值。<div id="red">紅盒子</div>
<div id="blue">藍盒子</div>
<script>
var red = document.getElementById("red"); //獲取紅盒子的參照
var blue= document.getElementById("blue"); //獲取藍盒子的參照
red.setAttribute("title", "這是紅盒子"); //為紅盒子物件設定title屬性和值
blue.setAttribute("title", "這是藍盒子"); //為藍盒子物件設定title屬性和值
</script>
var hello = document.createTextNode("Hello World!"); //建立一個文字節點 var h1 = document.createElement("h1"); //建立一個一級標題 h1.setAttribute("title", "你好,歡迎光臨!"); //為以及標題定義title 屬性 h1.appendChild(hello); //把文字節點增加到一級標題中 document.body.appendChild(h1); //把一級標題增加到文件
<label id="label1">文字方塊: <input type="text" name="textfield" id="textfield" /> </label> <script> var label1 = document.getElementById("label1"); label.className = "class1"; label.htmlFor = "textfield"; </script>DOM 支援使用 getAttribute() 和 setAttribute() 方法讀寫自定義屬性,不過 IE 6.0 及其以下版本瀏覽器對其的支援不是很完善。
<div id="red">紅盒子</div> <script> var red = document.getElementById("red"); red.className = "red"; red.className += "blue"; </script>
<script> function hasClass (element, className) { //檢測類名函數 var reg = new RegExp('(s|^)' + className + '(s|$)'); return reg.test(element.className); //使用正則檢測是否有相同的樣式 } function addClass (element, className) { //新增類名函數 if (! hasClass (element, className)) element.className += ' ' + className; } </script> <div id="red">紅盒子</div> <script> var red = document.getElementById("red"); addClass(red, 'red'); addClass(red, 'blue'); </script>