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轻松实现无缝轮播效果
Mar 22 jQuery
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
jQuery实现字体颜色渐变效果的方法
Mar 29 jQuery
使用jQuery卸载全部事件的思路详解
Apr 03 jQuery
jQuery实现简单的滑动导航代码(移动端)
May 22 jQuery
jQuery实现全选、反选和不选功能
Aug 16 jQuery
jQuery中过滤器的基本用法示例
Oct 11 jQuery
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
详解JavaScript原生封装ajax请求和Jquery中的ajax请求
Feb 14 jQuery
jQuery对底部导航进行跳转并高亮显示的实例代码
Apr 23 jQuery
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
Jul 10 jQuery
jquery ajax 请求小技巧实例分析
Nov 11 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中SESSION使用中的一点经验总结
2012/03/30 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
Linux环境下php实现给网站截图的方法
2016/05/03 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
浅谈jquery点击label触发2次的问题
2016/06/12 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
VSCode 配置uni-app的方法
2020/07/11 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
python实现定制交互式命令行的方法
2014/07/03 Python
Python实现获取磁盘剩余空间的2种方法
2017/06/07 Python
Android分包MultiDex策略详解
2017/10/30 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python实现KNN分类算法
2019/10/16 Python
Python 中的 import 机制之实现远程导入模块
2019/10/29 Python
Python如何优雅获取本机IP方法
2019/11/10 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
移动端rem布局的两种实现方法
2018/01/03 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
美国专营婴幼儿用品的购物网站:buybuy BABY
2017/01/01 全球购物
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
绿化先进工作者事迹材料
2014/01/30 职场文书
联片教研活动总结
2014/07/01 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
《少年闰土》教学反思
2016/02/18 职场文书