未捕获的语法错误:将<li>元素添加到<ul> </ul> </li>

时间:2014-05-29 21:14:21

标签: javascript jquery html

我一直得到一个uncaught syntex error我知道通常意味着你的代码缺少关闭的东西。我一直都没有看到我失踪的是什么。

该功能的想法是它提取链接ID和文本内容,并将其添加到无序列表中。

这些链接有一个&#39; ingredient_add&#39;无序列表的ID为&#39; ingredientsAdded&#39;。

我无法看到我在这里错过的内容。

$(document).ready(function() {
    $('.ingredient_add').click(function() {
        event.preventDefault();
        var id = this.id;
        var value = this.text();
        $('#ingredientsAdded').append("<li id='"+id+"'>"+value+"</li>");
    }); //end add to list
}); // end document ready()

4 个答案:

答案 0 :(得分:1)

你的语法看起来不错。您确实需要将事件传递给函数。

$('.ingredient_add').click(function(event){
event.preventDefault();

查看Jonathan Lonowskis对.text()的评论。

答案 1 :(得分:1)

您应该获得的错误是Uncaught TypeError: undefined is not a function

$('.ingredient_add').click(function () {
    event.preventDefault();   <-- what is event?

应该是

$('.ingredient_add').click(function (event) {
    event.preventDefault();

如果您仍然收到该错误,那么您的代码中还会发生其他问题。

答案 2 :(得分:0)

你好你的问题只是一个简单的错误。

var value = $(this).text();

这是一个jsfiddle:http://jsfiddle.net/Grimbode/pFLXf/1/

我更新了你的代码。注意不要多次使用相同的ID。

$(document).ready(function(){
var counter = 0;
$('.ingredient_add').click(function(event){
event.preventDefault();
var id = this.id;
var value = $(this).text();
$('#ingredientsAdded').append('<li id="'+id+counter+'">'+value+'</li>');
counter+=1;
}); //end add to list

}); // end document ready()

答案 3 :(得分:0)

您错过了点击处理程序功能中的参数。

$(document).ready(function(){

$('.ingredient_add').click(function(event){
event.preventDefault();
var id = this.id;
var value = this.text();
$('#ingredientsAdded').append("<li id='"+id+"'>"+value+"</li>");

}); //end add to list

}); // end document ready()