Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 追加新的<;李>;并将其ID号增加1_Javascript_Jquery_Append_Html Lists - Fatal编程技术网

Javascript 追加新的<;李>;并将其ID号增加1

Javascript 追加新的<;李>;并将其ID号增加1,javascript,jquery,append,html-lists,Javascript,Jquery,Append,Html Lists,因此,我尝试添加一个新的,每次都将其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="ite

因此,我尝试添加一个新的
  • ,每次都将其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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    这就是我的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);
        });
    });
    
    var itemCount=1;
    $(函数(){
    $(“#NewItem”)。单击(函数(e){//NewItem是我的按钮
    e、 预防默认值();
    itemCount++;
    var元素=$(“
  • “+itemCount+”
  • ”); $(“#bxs”)。追加(元素); }); });
    我做错了什么?我在div中添加itemCount的位置一定有问题。我也尝试过:
    为什么在HTML代码前面使用$

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

    如果你认为这是一个奇怪的字符串,那么试着在你的字符串中使用单引号

    var element = $('<li id="item-' + itemCount + '">' + itemCount + '</li>');
    
    var-element=$('
  • “+itemCount+”
  • );
    您的字符串没有正确连接。您应该在双引号内使用单引号。此外,如果您已有项目,则无法设置
    itemCount=1
    。我建议动态设置
    itemCount
    。请参见下面的示例(和fiddle)

    $(函数(){
    $(“#NewItem”)。单击(函数(e){//NewItem是我的按钮
    e、 预防默认值();
    var itemCount=($(“[id^='item-']”)。长度+1);
    var元素=$(“
  • ”+itemCount+“
  • ”); $(“#bxs”)。追加(元素); }); });
    这是。

    var元素=$(“
  • “+itemCount+”
  • ”);
    需要

    var element = '<li id="item-' + itemCount + '">' + itemCount + '</li>';
    
    var element='
  • '+itemCount+'
  • ';
    试试这个

    var element = $("<li id='item-" + itemCount +"'>" + itemCount + "</li>");
    
    var元素=$(“
  • 创建一个新的div元素,并返回一个包含该元素的jQuery对象。是的,这就是fiddle工作的原因,但由于没有对新创建的元素本身进行任何操作(在这种情况下,我会看到使用$()创建它的好处)。我想这只是一种样式选择?:)@托德:不确定将
    元素
    作为字符串还是jQuery对象更快。@火箭,在最后通过jQuery对象进行一次构建要比每次构建一个对象快得多。对于像这样的小用例,尽管他和使用字符串之间的区别很小。有些浏览器(即ie)更喜欢
    $(“
  • ”)而不是
    $(“
  • ”)
  • 。通常我使用
  • 。对我来说,省去/。非常感谢。我选择James answer是因为避免使用我不知道可以使用的变量感觉更好。
    var element = $("<li id='item-" + itemCount +"'>" + itemCount + "</li>");
    
    var element = $("<li></li>", { id: "item-" + itemCount }).html(itemCount);