您好,登錄后才能下訂單哦!
小編給大家分享一下jquery如何給元素設置屬性,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
設置方法:1、使用attr()方法,語法“$(selector).attr(屬性名,值)”或“$(selector).attr({屬性名:值;})”;2、使用prop()方法,語法“$(selector).prop(屬性名,值)”。
本教程操作環境:windows7系統、jquery1.10.2版本、Dell G3電腦。
jquery給元素設置屬性
1、使用attr()方法
attr() 方法設置或返回被選元素的屬性值。根據該方法不同的參數,其工作方式也有所差異。
語法:
//單個屬性 $(selector).attr(屬性名,值) //多個屬性 $(selector).attr({屬性名:值;屬性值:值...})
2、使用prop()方法
prop() 方法設置或返回被選元素的屬性和值。
當該方法用于設置屬性值時,則為匹配元素集合設置一個或多個屬性/值對。
語法:
//單個屬性 $(selector).prop(屬性名,值) //多個屬性 $(selector).prop({屬性名:值;屬性值:值...})
3、attr()和prop()方法的區別
prop() 方法和 attr() 方法相似,都是用來獲取或設置元素的 HTML 屬性的,不過兩者也有著本質上的區別。
jQuery 官方建議:具有 true 和 false 這兩種取值的屬性,如 checked、selected 和 disabled 等,建議使用 prop() 方法來操作,而其他的屬性都建議使用 attr() 方法來操作。
示例:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <script src="js/jquery-1.10.2.min.js"></script> <script> $(function () { $('input[type="radio"]').change(function(){ var bool = $(this).attr("checked"); if(bool){ $("p").text("你選擇的是:" + $(this).val()); } }) }) </script> </head> <body> <div> <label><input type="radio" name="fruit" value="蘋果" />蘋果</label> <label><input type="radio" name="fruit" value="香蕉" />香蕉</label> <label><input type="radio" name="fruit" value="西瓜" />西瓜</label> </div> <p></p> </body> </html>
預覽效果如圖 1 所示。
分析
$().change(function(){ …… })
上面表示的是 jQuery 中的 change 事件,與 JavaScript 的 onchange 事件是一樣的,我們在之后會詳細介紹。
在這個例子中,我們其實是想通過$(this).attr("checked")判斷單選框是否被選中,如果被選中,就獲取該單選框的 value 值。可是運行代碼后發現:完全沒有效果!這是為什么呢?
實際上,對于表單元素的 checked、selected、disabled 這些屬性,我們使用 attr() 方法是沒法獲取的,而必須使用 prop() 方法來獲取。因此,我們把 attr() 方法替換成 prop() 方法就有效果了。
其實,prop()方法的出現就是為了彌補 attr() 方法在表單屬性操作中的不足。記住一句話:如果某個屬性沒法使用 attr() 方法來獲取或設置,改換 prop() 方法就可以實現。
以上是“jquery如何給元素設置屬性”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。