天天看點

jQuery中prop()、attr()的差別

在有些時候,比如通路input的disabled、checked、selected屬性的時候會有些問題。在有些浏覽器裡,隻要寫了disabled屬性就可以,而在有些浏覽器裡,則要寫:disabled="disabled"。是以從1.6版開始,jQuery提供了prop()方法來獲得這些屬性。使用prop()的時候傳回的是标準屬性:true/false。

比如$("#checkbox").prop("disabled"),傳回true/false,

而使用$("#checkbox").attr("disabled"),傳回disabled/underfind。當然指派的時候也是如此。

那麼,哪些屬性應該使用attr()通路,哪些應該用prop()通路呢? 第一個原則:隻添加屬性名稱改屬性就會産生效應應該使用prop(); 第二個原則:隻存在true/false值得屬性應該使用prop();

按照官方的說法:如果設定disabled、checked、selecked這些屬性的時候應該使用prop(),而不是使用attr()。