Javascript 我们可以将变量传递给html的数据属性吗
到目前为止,我知道我们可以使用以下方法将数据存储在html元素中:Javascript 我们可以将变量传递给html的数据属性吗,javascript,jquery,html,web,attributes,Javascript,Jquery,Html,Web,Attributes,到目前为止,我知道我们可以使用以下方法将数据存储在html元素中: <div data-test="hello"> $.("div").data("test") 美元(“div”)。数据(“测试”) 然而,我只能为数据属性存储原始文本 我需要的是: var t= hello <div data-test=t> var t=hello 但是当我尝试此操作时,它显示字母t,而不是hello,实际上您正在更改的不是属性,而是DOM对象的一个属性。对于数据JavaSc
<div data-test="hello">
$.("div").data("test")
美元(“div”)。数据(“测试”)
然而,我只能为数据属性存储原始文本
我需要的是:
var t= hello
<div data-test=t>
var t=hello
但是当我尝试此操作时,它显示字母
t
,而不是hello
,实际上您正在更改的不是属性
,而是DOM
对象的一个属性。对于数据
JavaScript有自己的机制来保存元素的数据。更多信息,请查看
您可以使用jQuery
(正如您已经使用的那样)更改数据。使用data
函数并将变量作为第二个参数传递给函数,如$(“#d”).data(“test”,t)代码>
console.log($(“#d”).data(“test”);
const t='hello';
$(“#d”)。数据(“测试”,t);// 实际上,您正在更改的不是属性
,而是DOM
对象的一个属性。对于数据
JavaScript有自己的机制来保存元素的数据。更多信息,请查看
您可以使用jQuery
(正如您已经使用的那样)更改数据。使用data
函数并将变量作为第二个参数传递给函数,如$(“#d”).data(“test”,t)代码>
console.log($(“#d”).data(“test”);
const t='hello';
$(“#d”)。数据(“测试”,t);// 是的,你可以试试这个:
$("div").attr("data-test", "test");
是的,你可以试试这个:
$("div").attr("data-test", "test");
您可以使用JQuery的attr()
函数代替data()
var t='hello';
$(“div”).attr(“数据测试”,t)代码>
asd
您可以使用JQuery的attr()
函数代替data()
var t='hello';
$(“div”).attr(“数据测试”,t)代码>
asd
不带jQuery
在这种情况下,jQuery肯定是不必要的。您可以使用此代码实现相同的功能
HTML
结论
这将把新结果应用于数据属性,我们不需要jQuery
需要注意的是部分dataSet.test
此部分来自datatest
属性。我们删除数据-
部分,将其余单词用驼峰大小写
例如,当访问数据集时,data test new test=“where”
变为testNewTest
。不使用jQuery
在这种情况下,jQuery肯定是不必要的。您可以使用此代码实现相同的功能
HTML
结论
这将把新结果应用于数据属性,我们不需要jQuery
需要注意的是部分dataSet.test
此部分来自datatest
属性。我们删除数据-
部分,将其余单词用驼峰大小写
例如,当访问数据集时,data test new test=“whatever”
变为testNewTest
。您应该了解HTML和DOM之间的区别,特别是HTML属性和DOM节点属性之间的区别。您应该了解HTML和DOM之间的区别,特别是HTML属性和DOM节点属性之间的差异。
<div data-test="hello">
const textToChange = 'other text';
const divWithDataAttribute = document.querySelector('[data-test]');
diveWithDataAttribute.dataSet.test = textToChange;