javascript - 我们可以将变量传递给 html 的 data 属性吗

标签 javascript jquery html web attributes

到目前为止,我知道我们可以使用以下方法将数据存储在 html 元素中:

<div  data-test="hello">
$.("div").data("test")

但是,我只能存储数据属性的原始文本

我需要的是:

var t= hello
<div data-test=t>

但是当我尝试这个时,它显示字母t而不是hello

最佳答案

实际上,您更改的不是 attribute,而是 DOM 对象的属性。对于 data JavaScript 有自己的机制来保存元素的 data。欲了解更多请查看Documentation .

您可以使用 jQuery 更改数据(因为您已经使用过它)。使用 data 函数并将变量作为第二个参数传递给函数,例如 $("#d").data("test", t);

console.log($("#d").data("test"));

const t = 'hello';
$("#d").data("test", t); // <- second parameter

console.log($("#d").data("test"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="d" data-test="test">

关于javascript - 我们可以将变量传递给 html 的 data 属性吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46049041/

相关文章:

jQuery to FadeOut 由 HTML 内联样式声明的背景图像

html - CSS - 如何处理位置 :absolute elements when resizing with media queries

javascript - onclick 没有按预期工作

javascript - 在 Javascript 中将计数器与数组的每个成员相关联的好方法?

javascript - GET 请求完成后创建列表项

javascript - Typed.js 动画闪烁光标不工作

javascript - 更改下拉菜单出现的位置?

html - 使图像正确水平对齐

javascript - Angular Testing Controller 导致 TypeError : Object #<Object> has no method '$watch'

javascript - JavaScript 中的正则表达式只允许带有可选 2 位小数的数字