附加新的<li>并将其ID号增加1 </li>

时间:2011-11-09 20:22:25

标签: javascript jquery append html-lists

所以我试图追加一个新的<li>并每次将其ID号增加1,所以我最终会得到类似的东西:

    <ul id="bxs"> 

                <li id="item-1">1</li> 
                <li id="item-2">2</li> 
                <li id="item-3">3</li> 
                <li id="item-4">4</li> 
                <li id="item-5">5</li> 
                <li id="item-6">6</li> 
</ul>

这就是我的jQuery的样子:

var itemCount = 1;
$(function() {

    $("#NewItem").click(function(e) {  // NewItem is my button
            e.preventDefault();
            itemCount++;
        var element = $("<li id="item-" + itemCount>" + itemCount + "</li>");
        $("#bxs").append(element);
    });
});

我做错了什么?在div中添加itemCount的位置一定有问题。我也尝试了这个:<li id="item-" + itemCount + ">但是也不起作用。

有人可以指导我吗?

6 个答案:

答案 0 :(得分:3)

你没有正确连接你的字符串。您应该在双引号内使用单引号。此外,如果您已有现有项目,则无法设置itemCount = 1。我建议动态设置itemCount。见下面的例子(和小提琴)。

$(function() {    
    $("#NewItem").click(function(e) {  // NewItem is my button
            e.preventDefault();
        var itemCount = ($("[id^='item-']").length + 1);
        var element = $("<li id='item-" + itemCount + "'>" + itemCount + "</li>");
        $("#bxs").append(element);
    });
});

这是a working fiddle

答案 1 :(得分:3)

试试这个......

var element = $("<li id='item-" + itemCount +"'>" + itemCount + "</li>");

答案 2 :(得分:2)

为什么使用$(在HTML代码前面?

var element = '<li id="item-' + itemCount+ '">' + itemCount + '</li>';

认为这可以解决问题

答案 3 :(得分:2)

这是一个奇怪的字符串,请尝试使用单引号作为字符串;

var element = $('<li id="item-' + itemCount + '">' + itemCount + '</li>');

答案 4 :(得分:1)

var element = $("<li id="item-" + itemCount>" + itemCount + "</li>");

需要

var element = '<li id="item-' + itemCount + '">' + itemCount + '</li>';

答案 5 :(得分:1)

我总是选择尽可能使用API​​。它可以节省这样的问题。

var element = $("<li></li>", { id: "item-" + itemCount }).html(itemCount);