jquery元素固有屬性的操作:prop()和removeProp()
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>2.元素固有属性的操作:prop()和removeProp()</title> </head> <body> <img src="../images/fbb.jpg" width="200" alt="美女" title="明星" id="pic" data-nation="中国"> </body>
1.prop():只能取得元素的固有屬性
取得固有屬性alt,title
var res = $('#pic').prop('alt') var res = $('#pic').prop('title')
取得自訂屬性data-nation,返回undefined,取得不到
var res = $('#pic').prop('data-nation')
但是如何使用prop()進行動態設定自訂屬性後,就可以正常取得到
var res = $('#pic').prop('data-nation','中国山东')
此時查看元素,發現自訂屬性並未變更,所以這種設定對元素無影響
此時再次檢視到的自訂屬性值,只是存在於目前腳本的一個臨時資料
var res = $('#pic').prop('data-nation')
2.removeProp()
這個方法與removeAttr()有二點不同:
1.不支援空格分隔的屬性清單字串,即一次只能刪除一個屬性
2.它不能刪除原生屬性,如果真要刪除,只要將值設為false即可
不能同時移除多個屬性,所以此條語句無效
var res = $('#pic').removeProp('alt data-nation')
刪除自訂屬性data-nation
var res = $('#pic').removeProp('data-nation')
刪除原生固有的屬性alt,刪除失敗
var res = $('#pic').removeProp('alt')
用removeAttr()刪除原生屬性alt, 刪除成功
var res = $('#pic').removeAttr('alt')
所以,如果要用removeProp()刪除原生屬性,大多情況下將值設為false即可
#最終由使用者腳本自行處理
var res = $('#pic').prop('alt',false) var res = $('#pic').prop('alt')
控制台查詢結果
console.log(res)
以上是jquery元素固有屬性的操作:prop()和removeProp()的詳細內容。更多資訊請關注PHP中文網其他相關文章!