Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.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 JQuery-如何:复制<;李>;并将其放在<;ul>;_Javascript_Jquery_Copy_Duplicates_Html Lists - Fatal编程技术网

Javascript JQuery-如何:复制<;李>;并将其放在<;ul>;

Javascript JQuery-如何:复制<;李>;并将其放在<;ul>;,javascript,jquery,copy,duplicates,html-lists,Javascript,Jquery,Copy,Duplicates,Html Lists,我有一个普通的ulli。 我想在列表中附加一个li,它基于列表中的第一个li html 这就是它看起来的样子: <div id="gallery"> <ul> <li>Point Nr 1<p>lol</p></li> <li>Point Nr 2</li> <li>Point Nr 3</li> <li>Point Nr 4</li> <li&g

我有一个普通的ulli。 我想在列表中附加一个li,它基于列表中的第一个li

html

这就是它看起来的样子:

<div id="gallery">
<ul>
<li>Point Nr 1<p>lol</p></li>
<li>Point Nr 2</li>
<li>Point Nr 3</li>
<li>Point Nr 4</li>
<li>Point Nr 1<p>lol</p></li>
</ul>
</div

  • 点Nr 1lol

  • 第2点
  • 第3点
  • 第4点
  • 点Nr 1lol

应该是:

var $gallery = $('#gallery');
$gallery.find('li:first').clone(true).appendTo($gallery.find('ul'));
例如:

参考资料:

我想应该是

var ul = $('#gallery ul'); ul.find('li:first').clone(true).appendTo(ul); var ul=$(“#画廊ul”); ul.find('li:first')。clone(true)。appendTo(ul);
这是错误的,这将是非常危险的IE系列,因为你是复制的第一个李,这是好的,但你是附加到div,而不是ul。因此,附加的li标记不与ul嵌套。这对于W3C来说不是有效的HTML,为了IE,应该避免类似的事情。@Fatih:事实上,我忘记了
.find()
我认为,您的代码不是一个好的实践,因为您使用了.find()两次,这不是必需的。为什么你是从母公司部门深化,尽管是从ul深化。这样,您就不会在代码末尾再次找到ul了。@Fatih:好吧,因为我正在对缓存的引用调用
.find()
,这种情况是以光速发生的,而且您仍然有一个对父
div
的活动引用。实际上,
重新查询一个已经查询过的元素被认为是不好的做法。除非有必要,否则您真的应该使用缓存。
var $gallery = $('#gallery');
$gallery.find('li:first').clone(true).appendTo($gallery.find('ul'));
var ul = $('#gallery ul'); ul.find('li:first').clone(true).appendTo(ul);