我不知道为什么innerHTML不能用我的函数生成新文本。 即使jsfiddle告诉我语法正确,也没有任何变化。总之,我想要重新填充div。现在没有任何变化,div被静态文本所困。
var btn = byId("tog");
btn.onclick = function() {
var statusDiv = byId('status');
var status = statusDiv.className;
if (status == 'inactive') {
statusDiv.className = 'active';
byId("status").innerHTML = active;
}
else {
statusDiv.className = 'inactive';
byId("status").innerHTML = inactive;
}
};
答案 0 :(得分:1)
您的代码中存在多个错误。如果您想获取ID,则必须使用document.getElementById('nameOfId')
。同样,在为类声明名称时,您需要传入“字符串”,否则您将收到期望变量的语法错误。
以下是您重写的代码:
var btn = document.getElementById("tog");
btn.onclick = function() {
var statusDiv = document.getElementById('status');
var status = statusDiv.innerHTML;
if (status === 'inactive') {
statusDiv.className = 'active';
statusDiv.innerHTML = 'active';
} else {
statusDiv.className = 'inactive';
statusDiv.innerHTML = 'inactive';
}
};
以下是工作小提琴: http://jsfiddle.net/fB6Cr/