JS JQuery获取data-*属性值方法解析


Posted in jQuery onSeptember 01, 2020

下面就详细介绍四种方法获取data-*属性的值

<li id="getId" data-id="122" data-vice-id="11">获取id</li>

需要获取的就是data-id 和 dtat-vice-id的值

一:getAttribute()方法

const getId = document.getElementById('getId');
// //getAttribute()取值属性
console.log(getId.getAttribute("data-id"));//122
console.log(getId.getAttribute("data-vice-id"));//11
// //setAttribute()赋值属性
getId.setAttribute("data-id","48");
console.log(getId.getAttribute("data-id"));//48

二:dataset()方法

//data-前缀属性可以在JS中通过dataset取值,更加方便
console.log(getId.dataset.id);//112
//data-vice-id连接取值使用驼峰命名法取值 
console.log(getId.dataset.viceId);//11

//赋值
getId.dataset.id = "113";//113
getId.dataset.viceId--;//10

//新增data属性
getId.dataset.id2 = "100";//100

//删除,设置成null,或者delete
getId.dataset.id2 = null;//null
delete getId.dataset.id2;//undefind

三:jquery data()方法

var id = $("#getId").data("id"); //122
var viceId = $("#getId").data("vice-id"); //11
//赋值
$("#getId").data("id","100");//100

jquery data 是一种缓存机制

用法如下:

data()方法

//HTML代码 <div id="myDiv" data-appid="123" data-myname="lsxj" data-app-id="456" data-my-name="secondname"></div>

//获取属性
var appid = $("#myDiv").data("appid"); //123
var app-id = $("#myDiv").data("app-id"); //456

//属性赋值 $("#myDiv").data("appid","666");

//最终HTML代码 <div id="myDiv" data-appid="123" data-myname="lsxj" data-app-id="456" data-my-name="secondname"></div>

需要注意的是,data()的值进行修改并不会影响到DOM元素上的data-*属性的改变。data()的本质其实是将一个 “cache” 附加到了对象上,并使用了一个特殊的属性名称。

所以上述代码中,虽然对div进行了data()赋值操作,但HTML代码中div的data-appid的值仍然为123,因为data()只是修改了缓存的那个值,此时进行$('#myDiv').data("appid")的操作,输出的结果为666.

四:jquery attr()方法

var id = $("#getId").attr("data-id"); //122
var viceId = $("#getId").attr("data-vice-id"); //11
//赋值
$("#getId").attr("data-id","100");//100

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
JQuery实现图片轮播效果
May 08 jQuery
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
基于jQuery实现的单行公告活动轮播效果
Aug 23 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
jQuery实现列表的增加和删除功能
Jun 14 jQuery
jQuery实现带3D切割效果的轮播图功能示例【附源码下载】
Apr 04 jQuery
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
Apr 10 jQuery
JQuery属性操作与循环用法示例
May 15 jQuery
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
使用jquery实现轮播图效果
Jan 02 jQuery
jQuery实现动态加载瀑布流
Sep 01 #jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 #jQuery
jQuery编写QQ简易聊天框
Aug 27 #jQuery
jQuery实现简单QQ聊天框
Aug 27 #jQuery
基于jquery实现彩色投票进度条代码解析
Aug 26 #jQuery
Jquery 获取相同NAME 或者id删除行操作
Aug 24 #jQuery
jQuery实现评论模块
Aug 19 #jQuery
You might like
php+javascript的日历控件
2009/11/19 PHP
php中大括号作用介绍
2012/03/22 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
2014/08/06 PHP
php自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
常用PHP封装分页工具类
2017/01/14 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
PHP实现图的邻接矩阵表示及几种简单遍历算法分析
2017/11/24 PHP
Laravel中validation验证 返回中文提示 全局设置的方法
2019/09/29 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
JS中捕获console.log()输出的方法
2015/04/16 Javascript
浅谈JS中逗号运算符的用法
2016/06/12 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
javascript DOM的详解及实例代码
2017/03/06 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
Vue中keep-alive组件作用详解
2020/02/04 Javascript
python使用cPickle模块序列化实例
2014/09/25 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
基于django 的orm中非主键自增的实现方式
2020/05/18 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
德国街头和运动文化高品质商店:BSTN Store
2017/08/26 全球购物
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
小学教师自我鉴定范文
2014/03/20 职场文书
完美的中文自荐信
2014/05/24 职场文书
公司年底活动方案
2014/08/17 职场文书
纪律教育学习月活动总结
2014/08/27 职场文书
新兵入伍决心书
2015/09/22 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android