jquery attr()和prop()方法的區別


$('').attr()返回的是html對象

$('').prop()返回的是DOM對象

 

attr():

attr() 方法設置或返回被選元素的屬性和值。

當該方法用於返回屬性值,則返回第一個匹配元素的值。

當該方法用於設置屬性值,則為匹配元素設置一個或多個屬性/值對。

方法操作adio(checkbox)之類的控件,讓其選中的時候,其控件選中的值不會隨之改變。即只能控制其選中,不能控制其取消選中;

類似於$("...").attr("checked");返回的是'checked'或者undefined

如果有相應的屬性,返回的是該屬性,如果沒有則返回undefined

prop():

prop() 方法設置或返回被選元素的屬性和值。

當該方法用於返回屬性值時,則返回第一個匹配元素的值。

當該方法用於設置屬性值時,則為匹配元素集合設置一個或多個屬性/值對。

 

方法操作radio(checkbox)之類的控件,讓其選中的時候,其控件選中的值也會隨之改變。即既可以控制其選中,也能控制其取消選中;

類似於$("...").attr("checked");返回的是true或者false

如果有相應的屬性,返回的是該屬性,如果沒有則返回空串

 

attr和prop的使用場景:

1.添加屬性名稱該屬性就會生效應該使用prop();

2.是有true,false兩個屬性使用prop();(如'checked','selected','disabled'等)

3.其他則使用attr();

 

  //全選反選
            $("#allcheck").click(function() {
                $("#last input:checkbox").each(function(index, domEle) {
                    $(domEle).prop("checked", "true");
                });
            });
            $("#invertcheck").click(function() {
                $("#last input:checkbox").each(function(index, domEle) {
                    $(domEle).prop("checked", !$(domEle).prop("checked"));
                });

            });
            $("#unallcheck").click(function() {
                $("#last input:checkbox").each(function(index, domEle) {
                    $(domEle).removeAttr("checked");
                });
            });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM