Javascript 如何实现data()的非jQuery版本?
我正在重新编写一个我创建的插件Javascript 如何实现data()的非jQuery版本?,javascript,jquery,Javascript,Jquery,我正在重新编写一个我创建的插件jQuery,所以我想在纯Javascript 我可以引用大多数函数,但我不知道如何在我的插件中实现这些函数 如何使用Javascriptpure实现此功能?您可以通过数据集实现此功能 HTML 参考: 按注释编辑 HTML 例如: 如果使用getAttribute()则该值被视为字符串,因此jQuery的用法不同。data作为使用。data将为数据属性分配对象和数组 如果您使用dataset,您将按照jQuery获得类似的用法 拨弄 jQuery版本 $('#on
jQuery
,所以我想在纯Javascript
我可以引用大多数函数,但我不知道如何在我的插件中实现这些函数
如何使用
Javascript
pure实现此功能?您可以通过数据集实现此功能
HTML
参考:
按注释编辑
HTML
例如:
如果使用getAttribute()
则该值被视为字符串,因此jQuery的用法不同。data
作为使用。data
将为数据属性分配对象和数组
如果您使用dataset
,您将按照jQuery获得类似的用法
拨弄
jQuery版本
$('#one').data('foo', myArr);
var one = $('#one').data('foo');
console.log(one);
var div = document.getElementById('two');
var two = div.dataset.foo = myArr;
console.log(two);
非jQuery版本
$('#one').data('foo', myArr);
var one = $('#one').data('foo');
console.log(one);
var div = document.getElementById('two');
var two = div.dataset.foo = myArr;
console.log(two);
阅读这篇文章
使用javascript检索数据属性的方法有很多:
var domElement = document.getElementById('randomid');
var articleId = domElement.getAttribute('data-articleid');
console.log(articleId);//Outputs 123
您也可以使用dom元素的datasets属性,但是element.dataset在旧IE中将失败。它是element.dataset.key=value代码>?至少……我不知道,我会这样检查的!element.dataset将在11之前的IE中失败也许我不能用这种方式,我更喜欢值不更改DOM或HTMLHIS不修改DOM,这是获取已在标记中设置的数据属性的值?如果示例还包含未在DOM中首先声明的dataset属性的用例,则可能会使此答案更完整。比如article.dataset.whereDidThisComeFrom='JavaScript';console.log(article.dataset)
人们经常使用jQuery.data
来存储数据,我想这就是OP想要的功能。我需要保存一些元素链接的值,这种情况下,通常保存在数据属性中?或者我说没有意义?这是我第一次创建插件,如果我说有任何错误,请纠正我
$('#one').data('foo', myArr);
var one = $('#one').data('foo');
console.log(one);
var div = document.getElementById('two');
var two = div.dataset.foo = myArr;
console.log(two);
var domElement = document.getElementById('randomid');
var articleId = domElement.getAttribute('data-articleid');
console.log(articleId);//Outputs 123