克隆并删除数据?

时间:2014-02-05 17:56:52

标签: jquery

我用:

克隆li
var clone = $('#myList li').first().clone();

然后我想删除list元素的一部分,然后我可以用新数据重新填充它。

这是列表元素:

 <li class="news-item">
     <a href="{{ $val->url }}">
         <h3 class="news-title">{{ $val->title }}</h3>
         <img src="{{ $val->thumb) }}">
     </a>
</li>

我不希望按类名对每个元素进行定位,因为这会在页面之间发生变化,我希望使用相同的克隆脚本。是否可以通过标签来定位它们?

还有一个问题。

当我使用时:

var clone = $('#myList li').first().clone();

然后我可以使用以下命令将其附加到列表的末尾:

$('#tiles').append(clone);

但我只能这样做一次,我怎么能多次这样做?我尝试了以下但是它不起作用:

$('#tiles').append(clone);
$('#tiles').append(clone);
$('#tiles').append(clone);

我会把它放在循环中,但我需要一个基本的例子。

2 个答案:

答案 0 :(得分:0)

您可以清空元素的子元素:

clone.empty();

如果您尝试插入单个元素的多个副本,则每次都需要克隆它,因为javascript变量将继续引用原始元素:

var li = $('<li />');

var ul = $('ul');
for( var i = 0; i < 5; i++){
  ul.append(li.clone());
}

答案 1 :(得分:0)

  

是否可以通过标签定位它们?

是?与您在li内寻找#myList的方式相同。您可以通过clone.find('a')clone.find('h3')clone.find('img')按标记类型定位每个子元素。

  

我将如何清空每个元素?

选择它们,然后在它们上面调用empty

clone.find('a, h3, img').empty()