代码之家  ›  专栏  ›  技术社区  ›  cela

使用jQuery在另一个列表后添加列表元素

  •  2
  • cela  · 技术社区  · 7 年前

    我试图为我的用户提供一些输入,我希望他们能够点击一个按钮来添加另一行输入。我试图使用jQuery在第一个输入之后添加一个输入列表。

    以下是我迄今为止所做的尝试:

    $("#addButton").on("click", function() {
      $("#inputs").append($("#linear"));
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="inputs">
      <ul class="linearFeetCalc" id="linear">
        <li><input type="number" placeholder="Quantity" id="quantity"></li>
        <li><input type="number" placeholder="Length" id="length"></li>
        <li><input type="number" placeholder="Width" id="width"></li>
        <li><input type="number" placeholder="Height" id="height"></li>
        <li><input type="checkbox" id="stackable"> Stackable?</li>
        <li><input type="checkbox" id="turnable"> Turnable?</li>
      </ul>
    </div>
    <button id="addButton">Add Item</button>
    1 回复  |  直到 4 年前
        1
  •  2
  •   George    7 年前

    非常接近。您只需先克隆它:

    $("#addButton").on("click", function() {
        $("#inputs").append($("#linear").clone());
    });
    

    编辑: 还应更改ID以防止DOM中出现重复:

    `...$("#linear").clone().prop('id', '#linear2')...`