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