首页 > web前端 > js教程 > jquery在元素中存储数据:data()

jquery在元素中存储数据:data()

无忌哥哥
发布: 2018-06-29 13:39:50
原创
2035 人浏览过

在元素中存储数据:data()

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>3.在元素中存储数据:data()</title>
</head>
<body>
<img src="../images/peter.jpg" width="200" alt="php中文网" title="朱老师" id="pic" data-job="php中文网朱老师">
</body>
</html>
登录后复制

data():读取元素中属性名以data-开始的自定义数据,可以省略data-前缀

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

如果用之前的attr()方法必须写出完整的属性名

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

data()也是一个自带读取器和设置器的方法

$(&#39;#pic&#39;).data(&#39;data-course&#39;, &#39;php项目开发课程&#39;)
登录后复制

如果是动态设置的自定义属性,省略前缀是获取不到的

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

需要加上前缀

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

data()能获取元素上的原生属性吗?无法读取

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

但是支持动态设置title属性,仅限于脚本中使用,原始值并未发生变化

var res = $(&#39;#pic&#39;).data(&#39;title&#39;,&#39;hellow&#39;)
登录后复制

现在就可以在脚本中读取了title的值了,尽管这个值与原生的alt值并不相同

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

同样,data()也有一个对应的removeData()用来删除自定义或由它创建的属性

var res = $('#pic').removeData('title')  //仅删除临时创建的,原值不受影响
var res = $('#pic').removeData('data-course')  //仅删除临时创建的
var res = $(&#39;#pic&#39;).data(&#39;data-course&#39;)  //仅删除临时创建的
登录后复制

原始标签自带的自定义属性中删除不了的

var res = $('#pic').removeData('data-job') 
var res = $(&#39;#pic&#39;).data(&#39;job&#39;)
登录后复制

在控制台查看结果

console.log(res)
登录后复制

以上是jquery在元素中存储数据:data()的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板