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

无忌哥哥
无忌哥哥 原创
2018-06-29 13:39:50 1572浏览

在元素中存储数据: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 = $('#pic').data('job')

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

var res = $('#pic').attr('data-job')

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

$('#pic').data('data-course', 'php项目开发课程')

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

var res = $('#pic').data('course')

需要加上前缀

var res = $('#pic').data('data-course')

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

var res = $('#pic').data('title')

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

var res = $('#pic').data('title','hellow')

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

var res = $('#pic').data('title')

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

var res = $('#pic').removeData('title')  //仅删除临时创建的,原值不受影响
var res = $('#pic').removeData('data-course')  //仅删除临时创建的
var res = $('#pic').data('data-course')  //仅删除临时创建的

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

var res = $('#pic').removeData('data-job') 
var res = $('#pic').data('job')

在控制台查看结果

console.log(res)

以上就是jquery在元素中存储数据:data()的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。