为了账号安全,请及时绑定邮箱和手机立即绑定

html 的data自定义属性能随便修改吗?

html 的data自定义属性能随便修改吗?

一只斗牛犬 2019-03-14 18:19:26
<div class="fb" data-html="你是谁">1</div>    var f1=$(".fb").data("html");     如何给data-html设置啊?      我想给data-html设置为data-html="元旦快乐";     请问是怎么设置的? 
查看完整描述

4 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

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


var f1 = $(".fb").data("html"); // 获取data元素的值

$(".fb").data("html", "元旦快乐"); // 对data元素赋值


查看完整回答
反对 回复 2019-04-16
?
哔哔one

TA贡献1854条经验 获得超8个赞

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

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

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

data/Data 32行的代码:

owner[ this.expando ] = value;

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


查看完整回答
反对 回复 2019-04-16
?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

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


<!doctype html>

<html>

<head>

    <meta charset="UTF-8">

    <title>test</title>

</head>

<body>

    <div id="test" data-html="我是谁"></div>

</body>

</html>

Chrome 控制台下:


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


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

修改前:https://img1.sycdn.imooc.com//5cb5426500011d3703270114.jpg

修改后:https://img1.sycdn.imooc.com//5cb542680001185e03190128.jpg

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

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

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

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


console.log(data);

https://img1.sycdn.imooc.com//5cb542720001916e03800161.jpg

查看完整回答
反对 回复 2019-04-16
  • 4 回答
  • 0 关注
  • 719 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号