Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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代码无法向文本添加样式? var css=[“字体系列”]; var a=document.getElementById(“t”); 对于(变量i=0;i_Javascript - Fatal编程技术网

为什么此JavaScript代码无法向文本添加样式? var css=[“字体系列”]; var a=document.getElementById(“t”); 对于(变量i=0;i

为什么此JavaScript代码无法向文本添加样式? var css=[“字体系列”]; var a=document.getElementById(“t”); 对于(变量i=0;i,javascript,Javascript,它不会向它添加任何字体。因为for循环从未运行过a.length将给出未定义的,因为a不是数组,而是DOM元素i

它不会向它添加任何字体。

因为
for
循环从未运行过
a.length
将给出
未定义的
,因为
a
不是数组,而是DOM元素<代码>i
将始终计算为false

如前所述,不要将
“font-family”
“Arial”
放在数组中。直接传递字符串:

var css = ["font-family"];

var a = document.getElementById("t");

for (var i = 0; i < a.length; i++) {
    a.style[css] = ["Arial"];
}

<div id="t">Hello World</div>


正如您在函数名中看到的,
元素是单数,而不是复数。

因为
for
循环从未运行过
a.length
将给出
未定义的
,因为
a
不是数组,而是DOM元素<代码>i
将始终计算为false

如前所述,不要将
“font-family”
“Arial”
放在数组中。直接传递字符串:

var css = ["font-family"];

var a = document.getElementById("t");

for (var i = 0; i < a.length; i++) {
    a.style[css] = ["Arial"];
}

<div id="t">Hello World</div>


正如您在函数名中看到的,
元素是单数,而不是复数。

除了Felix的答案,您的样式分配没有意义。你想要的是:

document.getElementById("t").style[css] = "Arial";

除了Felix的答案,你的风格分配没有意义。你想要的是:

document.getElementById("t").style[css] = "Arial";

另外,无论是
“font-family”
还是
“Arial”
都不应该放在括号内。请参见:上次更新-您还需要使用fontFamily,因为样式是一个对象(请参见我的答案了解等效项)@BobbyJack:仅当您使用“点”符号时。如果您通过字符串访问属性,这很好(并且您可以通过这种方式访问对象属性)。此外,
“font-family”
“Arial”
都不应该放在括号中。re:last update-您还需要使用fontfmily,因为样式是一个对象(请参阅我的答案了解等效项)@BobbyJack:只有使用“dot”符号时才可以。如果您通过字符串访问属性,这很好(您可以通过这种方式访问对象属性)。实际上,我的意思是使用数组作为“样式”,并使用数组为其提供值。如下所示:var css=[“字体系列];var a=document.getElementById(“t”);对于(var i=0;i