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和原生JavaScript实现网页定位导航特效
Apr 03 jQuery
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
jquery实现图片放大点击切换
Jun 06 jQuery
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
Jun 13 jQuery
jQuery事件_动力节点Java学院整理
Jul 05 jQuery
基于jQuery实现手风琴菜单、层级菜单、置顶菜单、无缝滚动效果
Jul 20 jQuery
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 jQuery
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
Mar 19 jQuery
jQuery实现弹幕特效
Nov 29 jQuery
jQuery 移除事件的方法
Jun 20 jQuery
IDEA配置jQuery, $符号不再显示黄色波浪线的问题
Oct 09 jQuery
jQuery实现tab栏切换效果
Dec 22 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中的字符串函数
2006/11/24 PHP
PHP面向对象编程快速入门
2006/12/14 PHP
php中的strpos使用示例
2014/02/27 PHP
php实现信用卡校验位算法THE LUHN MOD-10示例
2014/05/07 PHP
php实现微信公众号无限群发
2015/10/11 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
Python实现简单拆分PDF文件的方法
2015/07/30 Python
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
python实现ID3决策树算法
2017/12/20 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
在ubuntu16.04中将python3设置为默认的命令写法
2018/10/31 Python
Python Pandas 箱线图的实现
2019/07/23 Python
Python简易版图书管理系统
2019/08/12 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
CSS3 @keyframes简单动画实现
2018/02/24 HTML / CSS
澳大利亚儿童精品仓库:Goo & Co.
2019/06/20 全球购物
生产部统计员岗位职责
2014/01/05 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
先进工作者申报材料
2014/12/23 职场文书
初中重阳节活动总结
2015/05/05 职场文书
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
数据库之SQL技巧整理案例
2021/07/07 SQL Server