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 相关文章推荐
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 jQuery
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
关于JS与jQuery中的文档加载问题
Aug 22 jQuery
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
jquery 通过ajax请求获取后台数据显示在表格上的方法
Aug 08 jQuery
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
jquery实现烟花效果(面向对象)
Mar 10 jQuery
jQuery 动画与停止动画效果实例详解
May 19 jQuery
jQuery实现雪花飘落效果
Aug 02 jQuery
Jquery 获取相同NAME 或者id删除行操作
Aug 24 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在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
php读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
IE和FireFox(FF)中js和css的不同
2009/04/13 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
javascript弹出窗口实现代码
2015/11/12 Javascript
一道常被人轻视的web前端常见面试题(JS)
2016/02/15 Javascript
easyui validatebox验证
2016/04/29 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
详解Vue中过度动画效果应用
2017/05/25 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
解决removeEventListener 无法清除监听的问题
2020/10/30 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
Python下载懒人图库JavaScript特效
2015/05/28 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
Python for Informatics 第11章之正则表达式(二)
2016/04/21 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
python+opencv实现车道线检测
2021/02/19 Python
详解css3 mask遮罩实现一些特效
2018/10/24 HTML / CSS
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
什么是事务?事务有哪些性质?
2012/03/11 面试题
ASP.NET中的身份验证有那些
2012/07/13 面试题
大三在校生电子商务求职信
2013/10/29 职场文书
师范大学毕业自我鉴定
2013/11/21 职场文书
高中毕业生自我鉴定例文
2013/12/29 职场文书
技能比赛获奖感言
2014/02/14 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript