扫码关注官方订阅号
html结构如下:
<p></p>
JS如下:
$("p").data("blah", "hello"); // blah设置为hello
那么这个blah的“hello”的值我在那个p里面是不是看不到?如果看不到,那在开发的时候怎么记得这东西?
业精于勤,荒于嬉;行成于思,毁于随。
确实看不见的。 至于如何修改和获取,获取$ele.data('key')和设置$ele.data('key','value') 为何建议使用data而不用在html上进行属性设置,我也不知道啊。求具体解答。 data上倒是通常可以用来存放对象,这个在jquery面向对象的插件写法上很常见哦。
$ele.data('key')
$ele.data('key','value')
如果题主希望记住的话,直接存在该 p 的自定义属性 blah 里面即可:
p
blah
$("p").attr('blah', $("p").data("blah"));
效果如下:
再取值的话就可以直接读 p 的属性值:
$("p").attr('blah')
实际上,一般直接读 $("p").data("blah") 的值即可,如果题主一定需要存在 DOM 内,就按照上述写法吧,个人感觉有些 hard code,而且兼容性也需验证。
$("p").data("blah")
DOM
hard code
data存放的数据的生命周期是多久啊
html标签里的data-只是给data赋初值,证据是用data方法改变数据后再拿attr('data-')改变不起效果
jQuery在某个版本里,.data(key, value)中value可以存储任意对象而不限于简单类型。 为此付出的代价是,把dom用一个(印象中)叫jQuery-ID的东西进行唯一标识,然后用jQuery.cache做k-v字典,于是dom上只能看到jQuery-ID,而实际上data数据都是存在那个字典里的。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
$().data()方法设置数据的时候用一个唯一自增的id将jQuery.cache跟DOM对象关联起来。
详细请参考:http://www.cnblogs.com/snandy/archive/2011/06/10/2077298.html
确实看不见的。
至于如何修改和获取,获取
$ele.data('key')
和设置$ele.data('key','value')
为何建议使用data而不用在html上进行属性设置,我也不知道啊。求具体解答。
data上倒是通常可以用来存放对象,这个在jquery面向对象的插件写法上很常见哦。
如果题主希望记住的话,直接存在该
p
的自定义属性blah
里面即可:效果如下:
再取值的话就可以直接读
p
的属性值:实际上,一般直接读
$("p").data("blah")
的值即可,如果题主一定需要存在DOM
内,就按照上述写法吧,个人感觉有些hard code
,而且兼容性也需验证。data存放的数据的生命周期是多久啊
html标签里的data-只是给data赋初值,证据是用data方法改变数据后再拿attr('data-')改变不起效果
jQuery在某个版本里,.data(key, value)中value可以存储任意对象而不限于简单类型。
为此付出的代价是,把dom用一个(印象中)叫jQuery-ID的东西进行唯一标识,然后用jQuery.cache做k-v字典,于是dom上只能看到jQuery-ID,而实际上data数据都是存在那个字典里的。