Javascript 我的代码中的切换按钮有点问题

Javascript 我的代码中的切换按钮有点问题,javascript,toggle,innerhtml,Javascript,Toggle,Innerhtml,我不知道为什么innerHTML不使用我的函数生成新文本。 即使jsfiddle告诉我语法是正确的,也没有任何变化。简言之,我希望这些单词重新填充div。现在没有任何变化,div被静态文本卡住 var btn = byId("tog"); btn.onclick = function() { var statusDiv = byId('status'); var status = statusDiv.className; if (status == 'inactive'

我不知道为什么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;
    }
};

你的代码中有几个错误。如果要获取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';
    }
};

这是工作小提琴:

什么是活动的和非活动的?您是否定义了这些变量,或者它们应该是字符串?既然statusDiv中已经有status元素,为什么还要再次查找它呢?我想用innerHTML更改内容,那么什么是
。innerHTML=inactive那是非活动的?您是否确实想要
.innerHTML=“非活动”注意引号。是。这就解决了问题。谢谢