我的代码中的切换按钮有点麻烦

时间:2014-01-10 18:11:45

标签: 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') {
        statusDiv.className = 'active';
        byId("status").innerHTML = active;
    }
    else {
        statusDiv.className = 'inactive';
        byId("status").innerHTML = inactive;
    }
};

1 个答案:

答案 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/