在jQuery

时间:2018-05-17 04:30:26

标签: javascript jquery

我希望能够create新的item,它基本上与同一items中的所有其他list具有相同的结构。我调查了append,但我想知道是否有一种比使用append写出结构更简单的方法。

在一个完美的世界中,我可以复制创建按钮liul的最后一个click,并在DOM中添加一个新元素,该元素是最后ul个孩子(减去最后一个项目中可能包含的任何信息)。

OR 也许我已经创建了一个虚拟元素,每次用户点击创建按钮时,都会添加一个新虚拟实例?

非常感谢任何指导!

3 个答案:

答案 0 :(得分:2)

这可能很容易,请检查我的代码snipet:

LLVM
NDK r15c。

答案 1 :(得分:2)

您是否查看了HTML5 template元素?

  

HTML Content Template()元素是一种用于保存客户端内容的机制,该内容在加载页面时不会呈现,但随后可以在运行时使用JavaScript进行实例化。

- https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template

您可以获取内容并使用jQuery从中创建新元素。

$('#add').click(function() {
  $('#list').append($('#new-li').html());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<template id="new-li">
  <li>
    Hello World!
  </li>
</template>

<ul id="list">

</ul>

<button type="button" id="add">+ NEW</button>

答案 2 :(得分:1)

您可以在最后一个元素上使用.clone

&#13;
&#13;
$('div').on('click', () => {
  $('ul').append($('ul > li:last-child').clone())
});
&#13;
.li-class {
  background-color: yellow;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>click</div>
<ul>
<li class="li-class">li text here</li>
</ul>
&#13;
&#13;
&#13;