首页 > 解决方案 > 如何使用 document.getElementById() 作为函数的一部分,目标 id 作为参数传递

问题描述

我正在尝试使用document.getElementById. 单击按钮时,我希望按钮的颜色变为红色。

我的代码目前如下所示:

function selectDay (value) {
    var id = '"' + value + '"';
    console.log(id)
    document.getElementById(id).style.backgroundColor = "red";
}

当我检查 id 的值时,这总是正确的。

例如,如果单击了一个 id 为 1 的按钮,那么在控制台中我将有“1”。document.getElementById("1")应该可以工作,但我收到一条错误消息:

无法读取 null 的属性“样式”。

我已经仔细检查过,html 中的 id 绝对正确。

标签: javascriptdomgetelementbyid

解决方案


去掉引号,直接使用value即可:document.getElementById(value)

在代码中按字面意思编写 ID 时使用引号,因为这是告诉 JavaScript 您在代码中编写的是字符串的原因。但是在您的代码中,value是一个参数(几乎与变量相同)。您想使用该参数的值。


推荐阅读