您好,欢迎访问一九零五行业门户网

jquery元素固有属性的操作:prop()和removeProp()

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()的详细内容。
其它类似信息

推荐信息