无法使用变量更改元素的样式

时间:2019-09-05 11:06:34

标签: javascript tampermonkey

所以我的脚本创建了一个元素并更改了它的innerHTML。

我的问题在我的脚本内,您可以看到以下内容:

CurrentLine.innerHTML = '<p>' + user + " ⦙ " + size + " ⦙ "+ line + '<span id="LogColor" style="">' + color + '</span> </p>';

我需要有关innerHTML的这一部分的帮助:

'<span id="LogColor" style="">' + obj.lineColor + '</span> </p>'

在孩子获得追加之后,您可以在下面的完整脚本中看到。您会看到我尝试使用变量更改跨度样式的地方。它似乎并没有改变它的颜色。

完整脚本:

nvtSource.onmessage = function(e) {
var obj = JSON.parse(e.data);
var line = JSON.stringify(obj.line)
var size = JSON.stringify(obj.lineWidth)
var color = JSON.stringify(obj.lineColor) // Not needed, but defined anyways.


if (line == null)
{
//Do nothing..
}
else
{
var CurrentLine = document.createElement('p');
CurrentLine.innerHTML = '<p>' + user + " ⦙ " + size + " ⦙ "+ line + '<span 
id="LogColor" style="">' + color + '</span> </p>';
document.getElementById("LineConsole").appendChild(CurrentLine);
document.getElementById("LogColor").style.color = obj.lineColor;
}

我尝试更改其样式的部分。

document.getElementById("LogColor").style.color = obj.lineColor;

我什至尝试做类似的事情:

document.getElementById("LogColor").style = "color:" + color + ";"

1 个答案:

答案 0 :(得分:0)

我不完全知道您要在这里做什么,但是如果您要添加的行具有textcolor,可以尝试:

'<span style="color:' + obj.lineColor + '">' + obj.lineColor + '</span> </p>'

只要您的lineColor是有效的CSS颜色字符串,例如“ red”,“#ffffff”或“ rgb(255,255,255)”

您将不再需要该ID。