4 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個贊
data 元素原則上就是用來存儲數(shù)據(jù)的,可以根據(jù)自己的需要自行修改。
var f1 = $(".fb").data("html"); // 獲取data元素的值
$(".fb").data("html", "元旦快樂"); // 對data元素賦值

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個贊
我也來講一講,本人學(xué)技術(shù)喜歡專研底層實(shí)現(xiàn),探究到底是怎么實(shí)現(xiàn)的~~
現(xiàn)在我們來講講 data-*
屬性 與 jQuery.data
方法。
很多人迷惑,為什么改了 data-*
屬性,但是 jQuery.data
里面的值不變,因?yàn)檫@就是兩個不同的東西,前者是 H5 自定義屬性,后者是 jQuery類庫 的值。該值在 jQuery 中的 data/Data 模塊中管理,存于 DOM 節(jié)點(diǎn)對象屬性中。
data/Data
32行的代碼:
owner[ this.expando ] = value;
jQuery 沒有針對屬性變化,而同步變化 data 方法中的值的機(jī)制,各管各的。jQuery 只是在初始化的時(shí)候讀取了 data-*
屬性。

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超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", "我是你");
修改前:
修改后:
------------------------------------------------------------------
補(bǔ)充一下,獲取相應(yīng)的值用:
var test = document.getElementById("test");
var data = test.getAttribute("data-html");
console.log(data);
添加回答
舉報(bào)