Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我们可以将变量传递给html的数据属性吗_Javascript_Jquery_Html_Web_Attributes - Fatal编程技术网

Javascript 我们可以将变量传递给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

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

<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;