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 相关文章推荐
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
jQuery+Ajax实现用户名重名实时检测
Jun 01 jQuery
文本溢出插件jquery.dotdotdot.js使用方法详解
Jun 22 jQuery
jQuery表单设置值的方法
Jun 30 jQuery
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
jQuery动态操作表单示例【基于table表格】
Dec 06 jQuery
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
js/jQuery实现全选效果
Jun 17 jQuery
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
jQuery 查找元素操作实例小结
Oct 02 jQuery
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 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
yii上传文件或图片实例
2014/04/01 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
2019/07/24 PHP
Mootools 1.2教程 输入过滤第二部分(字符串)
2009/09/15 Javascript
jquery maxlength使用说明
2011/09/09 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
jQuery带箭头提示框tooltips插件集锦
2014/11/17 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
基于canvas实现的绚丽圆圈效果完整实例
2016/01/26 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
js遮罩效果制作弹出注册界面效果
2017/01/25 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
django中的数据库迁移的实现
2020/03/16 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
建筑工程专业学生的自我评价
2013/12/25 职场文书
新学期决心书
2014/03/11 职场文书
公司总经理任命书
2014/06/05 职场文书
八一建军节营销活动方案
2014/08/31 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
汽车转让协议书范本
2014/12/07 职场文书
优秀党支部申报材料
2014/12/24 职场文书
为自己工作观后感
2015/06/11 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书