视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
jquery元素固有属性的操作:prop()和removeProp()
2020-11-27 19:34:57 责编:小采
文档

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)

下载本文
显示全文
专题