本節書摘來自異步社群《jquery、jquery ui及jquery mobile技巧與示例》一書中的第3章,第3.4節,作者:【荷】adriaan de jonge , 【美】phil dutson著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
使用attr(),可以更改html元素的attribute,比如rel、lang或者自定義的attribute。使用prop(),可以更改html元素的property。代碼清單3-4示範了麻煩是怎麼産生的。在某些情況下,從html的視角來看像是attribute,而從javascript的視角來看又是property。(jquery 1.6的釋出版作了修改,使得prop()函數隻能用于property值,而attr()函數隻能用于attribute值1。
代碼清單3-4 示範property和attribute之間的差別
第39行使用prop()函數把單選按鈕轉換成了複選框。在舊版本的jquery中,也可以使用attr()完成相同的功能。目前版本的jquery,對這兩個函數已經作了區分。
第41行設定了一個自定義attribute。如果你的浏覽器夠“現代”,更改attribute後會顯示第9~11行的css樣式效果。