首页 > web前端 > js教程 > 正文

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

无忌哥哥
发布: 2018-06-29 11:49:38
原创
1714 人浏览过

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 = $(&#39;#pic&#39;).prop(&#39;alt&#39;)
var res = $(&#39;#pic&#39;).prop(&#39;title&#39;)
登录后复制

获取自定义属性data-nation,返回undefined,获取不到

var res = $(&#39;#pic&#39;).prop(&#39;data-nation&#39;)
登录后复制
登录后复制

但是如何使用prop()进行动态设置自定义属性后,就可以正常获取到

var res = $(&#39;#pic&#39;).prop(&#39;data-nation&#39;,&#39;中国山东&#39;)
登录后复制

此时查看元素,发现自定义属性并未发生变化,所以这种设置对元素无影响

此时再次查看到的自定义属性值,只是存在于当前脚本的一个临时数据

var res = $(&#39;#pic&#39;).prop(&#39;data-nation&#39;)
登录后复制
登录后复制

2.removeProp()

这个方法与removeAttr()有二点不同:

1.不支持空格分隔的属性列表字符串,即一次只能删除一个属性

2.它不能删除原生属性,如果真要删除,只要将值设为false即可

不能同时移除多个属性,所以此条语句无效

var res = $(&#39;#pic&#39;).removeProp(&#39;alt data-nation&#39;)
登录后复制

删除自定义属性data-nation

var res = $(&#39;#pic&#39;).removeProp(&#39;data-nation&#39;)
登录后复制

删除原生固有的属性alt,删除失败

var res = $(&#39;#pic&#39;).removeProp(&#39;alt&#39;)
登录后复制

用removeAttr()删除原生属性alt, 删除成功

var res = $(&#39;#pic&#39;).removeAttr(&#39;alt&#39;)
登录后复制

所以,如果要用removeProp()删除原生属性,大多情况下将值设置为false即可

最终由用户脚本自行处理

var res = $(&#39;#pic&#39;).prop(&#39;alt&#39;,false)
var res = $(&#39;#pic&#39;).prop(&#39;alt&#39;)
登录后复制

控制台查询结果

console.log(res)
登录后复制

以上是jquery元素固有属性的操作:prop()和removeProp()的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!