JS JQuery获取data-*属性值方法解析
下面就详细介绍四种方法获取data-*属性的值
<li data- data-vice-id='11'>获取id</li>
需要获取的就是data-id 和 dtat-vice-id的值
一:getAttribute()方法
const getId = document.getElementById(’getId’);// //getAttribute()取值属性console.log(getId.getAttribute('data-id'));//122console.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';//113getId.dataset.viceId--;//10//新增data属性getId.dataset.id2 = '100';//100//删除,设置成null,或者deletegetId.dataset.id2 = null;//nulldelete getId.dataset.id2;//undefind
三:jquery data()方法
var id = $('#getId').data('id'); //122var viceId = $('#getId').data('vice-id'); //11//赋值$('#getId').data('id','100');//100
jquery data 是一种缓存机制
用法如下:
data()方法//HTML代码 <div data-appid='123' data-myname='lsxj' data-app- data-my-name='secondname'></div>//获取属性var appid = $('#myDiv').data('appid'); //123var app-id = $('#myDiv').data('app-id'); //456//属性赋值 $('#myDiv').data('appid','666');//最终HTML代码 <div data-appid='123' data-myname='lsxj' data-app- 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'); //122var viceId = $('#getId').attr('data-vice-id'); //11//赋值$('#getId').attr('data-id','100');//100
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持好吧啦网。
相关文章: