js獲取標(biāo)簽元素data-*屬性值的4種方法
前言:
標(biāo)簽上有兩個(gè)屬性??data-id??? 和 ??data-user-name??, 需要通過(guò)js去獲取
<style>
#user::before {
content: attr(data-id);
}
#user::after {
content: attr(data-user-name);
}
</style>
<div id="user" data-id="666" data-user-name="Tom"></div>方式一:dataset
let user = document.querySelector("#user");
// 取值 中劃線要轉(zhuǎn)為駝峰命名法
console.log(user.dataset.id); // 666
console.log(user.dataset.userName); // Tom
// 賦值
user.dataset.id = 777;
user.dataset.userName = "Jack";
// 新增屬性
user.dataset.age = 23;
// 刪除屬性
delete user.dataset.userName;
// <div id="user" data-id="777" data-age="23"></div>方式二: getAttribute/setAttribute/removeAttribute
let user = document.querySelector("#user");
// 取值
console.log(user.getAttribute("data-id")); // 666
console.log(user.getAttribute("data-user-name")); // Tom
console.log(typeof user.getAttribute("data-id")); // string
// 賦值
user.setAttribute("data-id", 777);
// 新增屬性
user.setAttribute("data-age", 23);
// 刪除屬性
user.removeAttribute("data-user-name");
// <div id="user" data-id="777" data-age="23"></div>方法三:jQuery.attr
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
let user = $('#user');
// 取值
console.log(user.attr("data-id")); // 666
console.log(user.attr("data-user-name")); // Tom
// 賦值
user.attr("data-id", 777);
// 新增屬性
user.attr("data-age", 23);
// 刪除屬性
user.removeAttr("data-user-name");
// <div id="user" data-id="777" data-age="23"></div>
</script>方法四:jQuery.data
注意:$.data()的值進(jìn)行修改并不會(huì)影響到DOM元素上的data-*屬性的改變
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
let user = $("#user");
// 取值
console.log(user.data("id")); // 666
console.log(user.data("user-name")); // Tom
// 賦值
user.data("id", 777);
// 新增屬性
user.data("age", 23);
// 刪除屬性
user.removeData("user-name");
console.log(user.data());
// {id: 777, age: 23, userName: 'Tom'}
// data() 操作沒(méi)有影響到dom元素的屬性變化
// <div id="user" data-id="666" data-user-name="Tom"></div>
</script>到此這篇關(guān)于js獲取標(biāo)簽元素data-*屬性值的4種方法的文章就介紹到這了,更多相關(guān)js獲取data-*屬性值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript表單即時(shí)驗(yàn)證 驗(yàn)證不成功不能提交
這篇文章主要為大家詳細(xì)介紹了JavaScript表單即時(shí)驗(yàn)證,驗(yàn)證不成功不能提交,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
javascript 閉包詳解及簡(jiǎn)單實(shí)例應(yīng)用
這篇文章主要介紹了javascript 閉包詳解及應(yīng)用的相關(guān)資料,需要的朋友可以參考下2016-12-12
javascript自定義startWith()和endWith()的兩種方法
js中自定義startWith()和endWith()方法有兩種,在本文將為大家詳細(xì)介紹下,感興趣的朋友不要錯(cuò)過(guò)2013-11-11
JavaScript JMap類(lèi)定義與使用方法示例
這篇文章主要介紹了JavaScript JMap類(lèi)定義與使用方法,涉及javascript類(lèi)的定義、內(nèi)部變量、函數(shù)的定義及使用相關(guān)操作技巧,需要的朋友可以參考下2019-01-01
JS精確判斷數(shù)據(jù)類(lèi)型代碼實(shí)例
這篇文章主要介紹了JS精確判斷數(shù)據(jù)類(lèi)型代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
JavaScript創(chuàng)建對(duì)象的四種常用模式實(shí)例分析
這篇文章主要介紹了JavaScript創(chuàng)建對(duì)象的四種常用模式,結(jié)合實(shí)例形式分析了javascript使用工廠模式、構(gòu)造函數(shù)模式、原型模式及動(dòng)態(tài)原型模式創(chuàng)建對(duì)象的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-01-01

