12

尝试运行以下代码时,我不断收到“意外令牌函数”错误。错误出现在该if(highPriority(priority)) {行。我感谢任何帮助,谢谢。

$(function(){
  $("input[name=task]").focus();

  $("body").on("click","#add",function(){

    var task = $("input[name=task]").val();
    var priority = $(this).parent().children("input[name=priority]"); 
    var doneSpan = '<span class="done">Done</span>';  

    if(highPriorityChecked(priority)) {

    $("#todo").prepend("<p class='row high-priority'>" + task + doneSpan + "</p");

  } else {$("#todo").append("<p class='row normal-priority'>" + task + doneSpan + "</p");
    };

      resetForm();    

      doneList();  

});

}

function highPriorityChecked(priority){
  return $("input[name=priority]").is(":checked");
};

function doneList(){ 
    $("#todo").on("click",".done",function(){
    var row = $(this).parent().detach();
    $("#done").prepend(row).remove(doneSpan);
    });
}

function buildRow(task, priority) {
  var row = '<div class="row item ' + priority + '">' + task;
  var doneSpan = '<span class="done">Done</span>';
  return row + doneSpan + "</div>";
};

function resetForm() {
  $("input[name=task]").val("").focus();
  $("input[name=priority]").removeAttr("checked");
 };
4

1 回答 1

12

阿德诺在他的评论中给出了正确的答案

您没有document.ready正确关闭该功能,它只是被一个大括号关闭。

他建议如果您正确格式化了代码,您可能会注意到。但我们可以做得更好。

通常,当您在 JavaScript 中遇到语法错误时,请尝试通过jslint运行整个脚本。这可能有助于指出错误的原因。

于 2013-07-30T22:56:48.427 回答