这个data方法不属于javascript,属于jQuery封装的,使用jQuery的.data()方法来访问这些"data-*" 属性。其中一个方法就是 .data(obj),这个方法是在 jQuery1.4.3版本后出现的,它能返回相应的data属性
这是别人回答的,我试了试,想给p 加个 name 属性,但是我 审查元素的时候,发现 p 并没有增加 name 属性..
怎么回事呢?
这个name 加到哪里去了?
要是让他加到html 中,具体怎么加?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
题主可能误解了data的用法, 题主可以试着看看jquery的源码中data的封装:data
很明显的表明$(element).data(); 是需要html标签中已经存在如这样的
<p data-name="xxx"></p>,所以题主找不到比较正常。一般操作的时候,都会在html标签中添加data-name="value",然后再通过jquery去修改
jquery的data方法并不会向attr属性一样,可以直接修改dom的属性。
通过jquery源码可以得知,jquery把属性为
data-*的html标签获取到,并取到data-*的value值,放在cache缓存里面,其实质改动的只是data数据而已。并不会修改dom属性。jQuery的data()方法只是作为数据的一种存取而已.并不修改Dom属性
如果想改变data-name中的值,建议直接用
另外添加属性,不能通过data的方法,只能通过
在内存里,不会写到html中
jq在初始化时, 会将代码所有data-*属性读出来, 放到对应jq对象的data里
你用data("a", 1)去修改或添加时, 并不会改变dom的属性值, 因为data是放在内存里的
你用attr("data-a", 1)去修改或添加时, 会改变dom的属性值, 并且还会修改内存里data的值
要使用jq的data, 必须是属性以data-开头