首頁  >  文章  >  web前端  >  jQuery中attr與prop之間有什麼的差別

jQuery中attr與prop之間有什麼的差別

清浅
清浅原創
2018-11-23 16:22:222893瀏覽

本篇文章將要分享有關jQuery中的attr()與prop()設定屬性以及獲取屬性的區別,有一定的參考價值,希望對大家有所幫助

#經常我們會習慣的用attr()方法來取得屬性值,例如想要取得圖片的alt屬性我們可以用attr直接取得,但在某些元素中,不能直接取得標準屬性(true/false),所以後來有了prop屬性,它的回傳值都是標準屬性,那麼哪些屬性用attr,哪些用prop呢?將在下面的文章為大家詳細介紹

attr屬性

attr(name|properties|key,value|fn)

##用於設定或傳回被選元素的屬性值。

當用於傳回屬性值時,則只傳回第一個符合元素的值。

當用於設定屬性值時,則為匹配元素集合設定一個或多個屬性/值對

#例:為所有圖像設定src屬性以及長寬

<body>
	<img>
	<script src="jquery/jquery-1.12.4.js"></script>
	<script>
		$(function(){
$("img").attr({width:"100px",height:"100px","src":"images/1.jpg"});
		})//为img添加多个属性值
</script>
</body>

Image 11.jpg

prop 屬性

#取得在符合的元素集中的第一個元素的屬性值

選中為true,沒選中為false

當選擇愛好時全選,其他單選,當四個全部選擇時則愛好全選

<script src="jquery/jquery-1.12.4.js"></script>
<script>
 $(function () {
 
  $("#j_cbAll").click(function () {
   //修改下面的哪些checkbox
   $("#j_tb input").prop("checked", $(this).prop("checked"));
 });
  $("#j_tb input").click(function () {
   if($("#j_tb input:checked").length  ==  $("#j_tb input").length){
    $("#j_cbAll").prop("checked", true)
}else {
    $("#j_cbAll").prop("checked", false)
  }
 });
 
});

</script>

單選時

Image 12.jpg

選嗜好時



#attr與prop區別:

( 1)例如在checked,selected,disabled等中prop方法傳回的是布林值,而attr回傳的則是已定義的字串

(2)prop()屬性用於設定或取得指定DOM元素也就是JavaScript中物件屬性,所以我們可以設定陣列或對象,而attr作用在文檔節點,所以只能是字串

(3)prop()屬性的使用比attr相容性更好

所以當屬性只需要加入屬性名稱時可以用attr,只要回傳true/false時就要用prop。


總結:以上就是本篇文章的全部內容了,希望透過這篇文章,大家能夠明白attr與prop之間的區別


#

以上是jQuery中attr與prop之間有什麼的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn