UncaCannot设置null的属性'innerHTML'

时间:2015-01-03 08:50:32

标签: javascript html innerhtml

请帮我查一下错误的代码?

function runPrompt(Message, promptLocation, color)
{
document.getElementById("promptLocation").innerHTML = Message;
document.getElementById("promptLocation").style.color = color;
}

Name : 
<input id= "commandName" onkeyup = "validateName()" type = "text"> <label id = "namePrompt"></label>

2 个答案:

答案 0 :(得分:1)

如果不发布您的HTML,目前还不清楚您的情况。我想你正在尝试使用promptLocation参数作为要更改的元素的id。参数变量应该直接传递给getElementById,不应该在引号中:

<div id="namePrompt"></div>

function runPrompt(Message, promptLocation, color)
{
    document.getElementById(promptLocation).innerHTML = Message;
    document.getElementById(promptLocation).style.color = color;
}

runPrompt('Test Message', 'namePrompt', 'red');

http://jsfiddle.net/jq8ghxkb/1/

答案 1 :(得分:0)

为了更安全,我们需要在使用&#39; document.getElementById&#39;时检查元素是否存在。因为我们无法访问JavaScript中未定义/无渲染元素的属性。

对于JQuery,如果id不存在,$(&#39;#id&#39;)将给出空数组。