Jquery中向我們提供了三種方法
data()
att()
prop()
來設置和獲取對象的屬性。但是設計這三種方法並不會重復無用的設計,那么他們三個的區分在哪里呢。
demo:
<div >我是一個DIV</div>
attr()方法:是JS中getAttribute()和setAttribute()方法的集成體
用法最為常規。
$('div').attr({age:30,address:"tianjin"});
var age = $('div').attr("age");
$('div').removeAttr("age address"); 如果要刪除多個屬性,中間用空格隔開。
通過attr()方法獲得的屬性,在HTML頁面檢查元素中都可以看到該屬性。
prop()方法:比較安全和隱秘的方法
設置屬性和獲得屬性與attr()方法一致的用法。
不同:
part1:通過prop()方法獲得屬性,在HTML頁面檢查元素中看不到該屬性。該屬性存在了內存當中。
part2:prop()在對radio,select,checkbox進行選中屬性操作的時候,值為true/false
e.g.
$('radio').prop('checked',true);
$('radio').attr('checked',"checked");
data()方法:更為安全、隱秘的方法
在HTML界面,檢查元素中,可以觀察並且修改標簽的屬性值。
通過attr()方法設置的屬性,可以修改HTML界面的標簽屬性值。但是在涉及到金融等要與數據庫進行交互的地方,我們不能允許用戶修改它的值。因此衍生出了data()方法。
方式:
<div data-name = "li">我是一個DIV</div>
通過在標簽中設置 data-(...) 的方式來設置 data 屬性。
注意: data- 后面的內容 只能為全大寫或者全小寫。推薦全小寫。
$('radio').data(“name”); 來訪問標簽的data-name 屬性。