转自:http://www.php.cn/js-tutorial-405445.html
在元素中存储数据:data()
1
2
3
4
5
6
7
8
9
10
|
<!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-前缀
1
|
var res = $( '#pic' ).data( 'job' )
|
如果用之前的attr()方法必须写出完整的属性名
1
|
var res = $( '#pic' ).attr( 'data-job' )
|
data()也是一个自带读取器和设置器的方法
1
|
$( '#pic' ).data( 'data-course' , 'php项目开发课程' )
|
如果是动态设置的自定义属性,省略前缀是获取不到的
1
|
var res = $( '#pic' ).data( 'course' )
|
需要加上前缀
1
|
var res = $( '#pic' ).data( 'data-course' )
|
data()能获取元素上的原生属性吗?无法读取
1
|
var res = $( '#pic' ).data( 'title' )
|
但是支持动态设置title属性,仅限于脚本中使用,原始值并未发生变化
1
|
var res = $( '#pic' ).data( 'title' , 'hellow' )
|
现在就可以在脚本中读取了title的值了,尽管这个值与原生的alt值并不相同
1
|
var res = $( '#pic' ).data( 'title' )
|
同样,data()也有一个对应的removeData()用来删除自定义或由它创建的属性
1
2
3
|
var res = $( '#pic' ).removeData( 'title' ) //仅删除临时创建的,原值不受影响
var res = $( '#pic' ).removeData( 'data-course' ) //仅删除临时创建的
var res = $( '#pic' ).data( 'data-course' ) //仅删除临时创建的
|
原始标签自带的自定义属性中删除不了的
1
2
|
var res = $( '#pic' ).removeData( 'data-job' )
var res = $( '#pic' ).data( 'job' )
|
在控制台查看结果
以上就是jquery在元素中存储数据:data()的详细内容,更多请关注php中文网其它相关文章!