你还记得$(elem).data('somekey', 'somevalue')吗,当它不是用于数据属性,而是用于在jQuery元素对象上存储任意值/对象时?事实上,data()被用来存储任何东西,通常是整个对象实例on the element.

它被使用了很多,非常方便.是否有vanilla javascript对应的版本?或者,如何用vanilla js复制这个功能?

推荐答案

jQuery对象是原生元素的一种包装器.您也可以使用标准JavaScript对象来做同样的事情,将一个属性作为元素本身.然后,它只是添加任意属性并根据需要对其进行操作的问题.

const myElObject = {};

myElObject.element = document.querySelector('#myElement');
myElObject.otherProperty = 1;

myElObject.element.textContent = "Some text";

console.log(myElObject);
<div id="myElement"></div>

Javascript相关问答推荐

禁用从vue.js 2中的循环创建的表的最后td的按钮

如何为GrapesJS模板编辑器创建自定义撤销/重复按钮?

使用JavaScript在ionic Web应用程序中更新.pane和.view的背景 colored颜色

在Angular中将样式应用于innerHTML

在JavaScript中声明自定义内置元素不起作用

使用JavaScript重新排序行

在观察框架中搜索CSV数据

Promise Chain中的第二个useState不更新

MathJax可以导入本地HTML文档使用的JS文件吗?

如何调用名称在字符串中的实例方法?

我在Django中的视图中遇到多值键错误

用于在路径之间移动图像的查询

元素字符串长度html

WebSocketException:远程方在未完成关闭握手的情况下关闭了WebSocket连接.&#三十九岁;

处理app.param()中的多个参数

JWT Cookie安全性

在将元素追加到DOM之前,createElement()是否会触发回流?混淆abt DocumentFragment行为

如何在不将整个文件加载到内存的情况下,在Node.js中实现Unix粘贴命令?

Js问题:有没有办法将数据从标记表转换成图表?

如何根据获取的对象数量动态生成状态变量