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-08javascript 閉包詳解及簡(jiǎn)單實(shí)例應(yīng)用
這篇文章主要介紹了javascript 閉包詳解及應(yīng)用的相關(guān)資料,需要的朋友可以參考下2016-12-12javascript自定義startWith()和endWith()的兩種方法
js中自定義startWith()和endWith()方法有兩種,在本文將為大家詳細(xì)介紹下,感興趣的朋友不要錯(cuò)過(guò)2013-11-11JavaScript JMap類(lèi)定義與使用方法示例
這篇文章主要介紹了JavaScript JMap類(lèi)定義與使用方法,涉及javascript類(lèi)的定義、內(nèi)部變量、函數(shù)的定義及使用相關(guān)操作技巧,需要的朋友可以參考下2019-01-01JS精確判斷數(shù)據(jù)類(lèi)型代碼實(shí)例
這篇文章主要介紹了JS精確判斷數(shù)據(jù)類(lèi)型代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12JavaScript創(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