1. 程式人生 > >jquery 獲取 自定義屬性(attr 和 prop)用法

jquery 獲取 自定義屬性(attr 和 prop)用法

$("form").attr("check"); 
$("form").prop("check"); 

兩種都可以,不過新版jquery推薦第二種,兩個在其他方面都差不多,我發現的唯一不同就是在checkbox上的時候,需要用prop,不然IE瀏覽器會不相容

jquery中用attr()方法來獲取和設定元素屬性,attr是attribute(屬性)的縮寫,在jQuery DOM操作中會經常用到attr(),attr()有4個表示式。

1. attr(屬性名       //獲取屬性的值(取得第一個匹配元素的屬性值。通過這個方法可以方便地從第一個匹配元素中獲取一個屬性的值。如果元素沒有相應屬性,則返回 undefined )

2. attr(屬性名, 屬性值)   //設定屬性的值 (為所有匹配的元素設定一個屬性值。

3. attr(屬性名,函式值    //設定屬性的函式值  (為所有匹配的元素設定一個計算的屬性值。不提供值,而是提供一個函式,由這個函式計算的值作為屬性值。

4.attr(properties)   //給指定元素設定多個屬性值,即:{屬性名一: “屬性值一” , 屬性名二: “屬性值二” , … … }。(這是一種在所有匹配元素中批量設定很多屬性的最佳方式。 注意,如果你要設定物件的class屬性,你必須使用'className' 作為屬性名。或者你可以直接使用'class'或者'id'。)

那麼是否有跟attr()相似的屬性呢?

jquery中val()與之類似,
$(this).val();獲取某個元素節點的value值,相當於$(this).attr("value");
$(this).val(value);設定某個元素節點的value值,相當於$(this).attr("value",value);

那麼怎麼刪除屬性呢?

jquery中刪除屬性的關鍵詞是: removeAttr 注意A是大寫的看看怎麼用的:

同樣是用法一中的html程式碼我想刪掉li的title屬性那麼就這樣:

<script> $("ul li:eq(1)").removeAttr ("title"); </script>

就這麼簡單, attr 其實就是原生js中 getAttribute 的簡化實現removeAttr 就是 removeAttribute 的簡寫了。

jQuery 遍歷 - each() 方法

	    /**
	     * 分類選擇框
	     */
	    $(".fcat").each(function(){
			$(this).bind("change", function () {
				var fid = $(this).val();
				$(":checkbox[fid="+fid+"]").prop("checked", $(this).is(":checked"));
			});
		});