設定方法: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影片教學、web前端影片】
以上是jquery怎麼給元素設定屬性的詳細內容。更多資訊請關注PHP中文網其他相關文章!