欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

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

程序员文章站 2022-04-07 20:17:58
...
在元素中存储数据:data()
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>3.在元素中存储数据:data()</title>
</head>
<body>
<img src="../images/peter.jpg" width="200" alt="" title="朱老师" id="pic" data-job="朱老师">
</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()的详细内容,更多请关注其它相关文章!