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+PHP+Mysql实现抽奖程序
Apr 12 jQuery
jQuery Validate格式验证功能实例代码(包括重名验证)
Jul 18 jQuery
使用jQuery实现简单的tab框实例
Aug 22 jQuery
基于jQuery实现的设置文本区域的光标位置
Jun 15 jQuery
jQuery实现的简单歌词滚动功能示例
Jan 07 jQuery
jQuery AJAX与jQuery事件的分析讲解
Feb 18 jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
jquery ui 实现 tab标签功能示例【测试可用】
Jul 25 jQuery
jQuery实现简单聊天室
Feb 08 jQuery
JQuery事件冒泡和默认行为代码实例
May 13 jQuery
jQuery实现查看图片功能
Dec 01 jQuery
JS+JQuery实现无缝连接轮播图
Dec 30 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
下载文件的点击数回填
2006/10/09 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
详解js异步文件加载器
2016/01/24 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
PHP性能测试工具xhprof安装与使用方法详解
2018/04/29 PHP
表单内同名元素的控制
2006/11/22 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
js图片预加载示例
2014/04/30 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
初识Node.js
2015/03/20 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
2018/05/10 Javascript
基于Layui自定义模块的使用方法详解
2019/09/14 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
js实现缓动动画
2020/11/25 Javascript
JavaScript事件概念详解(区分静态注册和动态注册)
2021/02/05 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
Python 装饰器深入理解
2017/03/16 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
Python自省及反射原理实例详解
2020/07/06 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
Python如何使用vars返回对象的属性列表
2020/10/17 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
在职研究生自我鉴定
2013/10/16 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
幼儿园学前班幼儿评语
2014/12/29 职场文书
在职证明书模板
2015/06/15 职场文书
Nginx动静分离配置实现与说明
2022/04/07 Servers