jQuery中的屬性和屬性節點的詳細介紹1.0
在看完江哥對jQuery中屬性和屬性節點這幾段視頻後,還是感覺有必要總結下,也能供大家參考:
1.什麼是屬性?
對象身上保存的變量就是屬性
2.如何操作屬性?
function Person() {
}
var p = new Person(); //先new一個對象
對象.屬性名稱 = 值 ; //賦值
p.name = 'ywc';
對象.屬性名稱; //取值
console.log(p.name);
對象["屬性名稱"] = 值;//賦值
p["name"] = "ywc"
對象["屬性名稱"] //取值
console.log(p['name']);
3.什麼是屬性節點?
<span name = "it666"></span>
在編寫HTNL代碼時,在標籤中添加的屬性就是屬性節點
在瀏覽器中找到span這個DOM元素之後,展開看到的都是屬性
在attributes 屬性中保存的所有內容都是屬性節點
4.如何操作屬性節點?
DOM元素.setAttribute("屬性名稱","值"); // 設置屬性節點的值
var span = document.getElementsByTagName('span')[0];
span.setAttribute("name","ywc");
DOM元素.getAttribute("屬性名稱") //獲取屬性節點的值
console.log(span.getAttribute("name"));
5.屬性和屬性節點有什麼區別?
任何對象都有屬性,但是只有DOM對象纔有屬性節點
jQuery中attr方法(在2.0版本會重新寫,需要完善,還要個prop方法要做對比)
1.attr(name|pro|key,val|fn)
作用:獲取或者設置屬性節點的值
<body>
<span class="span1" name="it666"></span>
<span class="span2" name="ywc"></span>
</body>
可以傳遞一個參數,也可以傳遞兩個參數
如果傳遞一個參數,代表獲取屬性節點的值
如果傳遞兩個參數,代表設置屬性節點的值
注意點:
如果是獲取:無論找到多少元素,都只會返回第一個元素指定的屬性節點的值
$("span").attr('class');
console.log($("span").attr('class')); //結果只會返回 span1
如果是設置:找到多少個元素就會設置多少個元素
$("span").attr('class','box');
console.log($("span").attr('class','box')); // 所有span標籤
如果是設置:如果設置的屬性節點不存在,那麼系統會自動新增
2.removeAttr(name)
刪除屬性節點
注意點:會刪除所有找到元素指定的屬性節點