Javascript JQuery待办事项列表未运行

Javascript JQuery待办事项列表未运行,javascript,jquery,Javascript,Jquery,我正在处理待办事项列表,您可以在框中键入任务,然后单击“添加”按钮将该项输入列表。但是,我的列表中没有添加任何内容,我也无法找出我的代码有什么问题 $(文档).ready(函数(){ $('add#todo')。单击(函数(){ var todoDescription=$('#todo_description').val(); $('.todo_list')。前缀('' '' '' '' '' 托德描述 '' ''); $('todo_form')[0]。重置(); $('.check_tod

我正在处理待办事项列表,您可以在框中键入任务,然后单击“添加”按钮将该项输入列表。但是,我的列表中没有添加任何内容,我也无法找出我的代码有什么问题

$(文档).ready(函数(){
$('add#todo')。单击(函数(){
var todoDescription=$('#todo_description').val();
$('.todo_list')。前缀(''
''
''
''
''
托德描述
''
'');
$('todo_form')[0]。重置();
$('.check_todo')。解除绑定('click');
$('.check_todo')。单击(函数(){
var todo=$(this.parent().parent();
todo.toggleClass('checked');
});
返回false;
});  
});
正文{
字体系列:克里斯汀国际贸易中心;
background image=“css/fzm notebook.texture-25.jpg”;
背景重复:无重复;
背景尺寸:封面;
}
.头衔{
文本对齐:居中;
边缘顶部:80px;
字体大小:40px;
}
.项目{
字体大小:24px;
字体大小:粗体;
光标:指针;
文本对齐:居中;
}
.虚线{
字体大小:25px;
}

购物清单

JS中不能有多行字符串。你似乎知道这一点,但你忘了用加号连接它们。这是有问题的部分:

$('.todo_list').prepend('<div class="todo">'
     '<div>'
       '<input type="checkbox" class="check_todo" name="check_todo"/>'
     '</div>'
     '<div class="todo_description">'
       todoDescription
     '</div>'
   '</div>');
正文{
字体系列:克里斯汀国际贸易中心;
background image=“css/fzm notebook.texture-25.jpg”;
背景重复:无重复;
背景尺寸:封面;
}
.头衔{
文本对齐:居中;
边缘顶部:80px;
字体大小:40px;
}
.项目{
字体大小:24px;
字体大小:粗体;
光标:指针;
文本对齐:居中;
}
.虚线{
字体大小:25px;
}

购物清单

检查您的控制台,您已经忘记了生成html字符串所需的所有
+

$(文档).ready(函数(){
$('add#todo')。单击(函数(){
var todoDescription=$('#todo_description').val();
$('.todo_list')。前缀(''+
''+
''+
''+
''+
ToDeDescription+“”+
'');
$('todo_form')[0]。重置();
$('.check_todo')。解除绑定('click');
$('.check_todo')。单击(函数(){
var todo=$(this.parent().parent();
todo.toggleClass('checked');
});
返回false;
});
});

购物清单
我让它工作了

下面是您修改的代码:

<script>
$(document).ready( function() {

    $('#add_todo').click( function() {
        var todoDescription = $('#todo_description').val();
        $('.todo_list').prepend('<div class="todo"><div><input type="checkbox" class="check_todo" name="check_todo"/></div><div class="todo_description">'+todoDescription+'</div></div>');
        $('#todo_form')[0].reset();
        $('.check_todo').unbind('click');
        $('.check_todo').click( function() {
            var todo = $(this).parent().parent();
            todo.toggleClass('checked');
        });
        return false;
    });
});
</script>

$(文档).ready(函数(){
$('add#todo')。单击(函数(){
var todoDescription=$('#todo_description').val();
$('.todo_list')。前缀(''+todoDescription+'');
$('todo_form')[0]。重置();
$('.check_todo')。解除绑定('click');
$('.check_todo')。单击(函数(){
var todo=$(this.parent().parent();
todo.toggleClass('checked');
});
返回false;
});
});
我刚刚在
$('.todo_list')中删除了html中的所有引号

并在“ToDeDescription”周围添加“+”

希望这会有所帮助:)

编辑 忘了提一下我在你的表格中删除了你的行为

<form id="todo_form" method="POST">

正如其他人提到的,您没有正确连接字符串

多行字符串和字符串插值可用于ES6中介绍的模板字符串

可以使用模板字符串按以下方式格式化字符串:

`<div class="todo">
     <div>
     <input type="checkbox" class="check_todo" name="check_todo"/>
     </div>
     <div class="todo_description">
      ${todoDescription}
     </div>
   </div>`
`
${todoDescription}
`

对于不支持反勾选字符串的浏览器呢?