javascript - html 的data自定义属性能随便修改吗?
伊谢尔伦
伊谢尔伦 2017-04-10 16:43:58
[JavaScript讨论组]
<p class="fb" data-html="你是谁">1</p>
    var f1=$(".fb").data("html");
     如何给data-html设置啊? 
     我想给data-html设置为data-html="元旦快乐";
     请问是怎么设置的? 
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(4)
阿神

data 元素原则上就是用来存储数据的,可以根据自己的需要自行修改。

var f1 = $(".fb").data("html"); // 获取data元素的值
$(".fb").data("html", "元旦快乐"); // 对data元素赋值
迷茫

我也来讲一讲,本人学技术喜欢专研底层实现,探究到底是怎么实现的~~

现在我们来讲讲 data-* 属性 与 jQuery.data 方法。

很多人迷惑,为什么改了 data-* 属性,但是 jQuery.data 里面的值不变,因为这就是两个不同的东西,前者是 H5 自定义属性,后者是 jQuery类库 的值。该值在 jQuery 中的 data/Data 模块中管理,存于 DOM 节点对象属性中。

data/Data 32行的代码:

owner[ this.expando ] = value;

jQuery 没有针对属性变化,而同步变化 data 方法中的值的机制,各管各的。jQuery 只是在初始化的时候读取了 data-* 属性。

PHP中文网

jQuery的data方法我不清楚,但原生是这样写的,在控制台下能看到变化

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
    <p id="test" data-html="我是谁"></p>
</body>
</html>

Chrome 控制台下

var test= document.getElementById("test");

test.setAttribute("data-html", "我是你");

修改前:

修改后:

------------------------------------------------------------------

补充一下,获取相应的值用:

var test = document.getElementById("test");
var data = test.getAttribute("data-html");

console.log(data);

怪我咯

这里讲得挺全的:http://blog.netsh.org/posts/html-data-jquery_1812.netsh.html

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号