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

Ngo*_*Lam 1 html javascript jquery attributes web

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

<div  data-test="hello">
$.("div").data("test")
Run Code Online (Sandbox Code Playgroud)

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

我需要的是:

var t= hello
<div data-test=t>
Run Code Online (Sandbox Code Playgroud)

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

Sur*_*yan 5

实际上你改变的不是对象attribute的属性而是对象的属性DOM。JavaScript有data它自己的保存data元素的机制。有关更多信息,请查看文档

您可以更改data使用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"));
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="d" data-test="test">
Run Code Online (Sandbox Code Playgroud)