语法错误在JS函数中,它不起作用

时间:2016-01-06 16:15:50

标签: javascript

我在第15行遇到语法错误,我不知道原因。

此外,还有其他方法可以调用函数吗?我在点击时添加了此活动,但我认为这是不正确的。我想我需要使用return或其他东西,或者编写一个函数来调用它。



var toDolist = function() {
    
    addNewTask = function () {
        
        var btn2 = document.getElementById("add-task-box");
        btn2.onclick = addNewTask
        
        
        var input = document.getElementById("taks-input").value,
            itemTexts = input,
            colA = document.getElementById('task-col-a').children.length,
            colB = document.getElementById('task-col-b').children.length,
            taskBoks = document.createElement("div"),
            
            taskBoks.className = "min-box",
            taskBoks.innerHTML = '<div class="col-3 chack" id=""><i class="fa fa-star"></i></div><div class="col-8 task-text" id="taskContent">/
            <p>'+itemTexts+'</p></div><div class="col-1 color"></div>'
            
            if (colB > colA) {
                var todolist = document.getElementById("task-col-a");
            } else {
                var todolist = document.getElementById("task-col-b");
            }
                todolist.appendChild(taskBoks);
            }
        }
    }
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您正在使用,在单个var语句中声明它们,从而系列地声明了许多变量。但是如下所示,您试图声明taskBoks.className,它不是变量名,它引用对象的对象属性(className)(taskBoks

// Declare variables, one after another...
var input = document.getElementById("taks-input").value,
    itemTexts = input,
    colA = document.getElementById('task-col-a').children.length,
    colB = document.getElementById('task-col-b').children.length,
    taskBoks = document.createElement("div"),

    // Since previous line ends in comma, this is another declaration...
    taskBoks.className = "min-box",
    // Syntax Error: variable names can't contain a dot.

您可能只需要将taskBoks声明末尾的逗号更改为分号,即可结束var语句。

此外,您需要将taskBoks.className行末尾的逗号更改为分号。 并重复以下行taskBoks.innerHTML,或者当它到达该点时,您将获得另一个异常。

你在taskBoks.innerHTML的分配中有一个多行字符串,这可能不适用于所有引擎,可能是语法错误......

您正在尝试将btn2的点击处理程序分配给一个函数,从该函数内部...可能属于toDolist而不是(?)或某个地方其他

换句话说,这里有许多其他问题,但逗号是问题所引起的特定错误的原因。您可能应该将这种情况分成几个单独的问题来解决您遇到的特定错误,而不是在一个问题中吐出整个blob并询问&#34;为什么我的代码被破坏?&#34;