2012-04-05 81 views
1

如何使用jQuery循环遍历克隆列表?如何使用jQuery循环遍历克隆列表

 <ul id=testList> 
      <li><p> Test A </p></li> 
      <li><p> Test B </p></li> 
      <li><p> Test C </p></li> 
      <li><p> Test D </p></li> 
      <li><p> Test E </p></li> 
    </ul> 

jQuery代码...

  var $cloneList = $("#testList").clone(); 

     $cloneList.each(function() 
     { 
       alert($(this).html()); 
     }); 

的问题是警报系统的输出显示列表的内容:

   <p> Test A </p> 

我需要的是的显示ul这样的列表

  <li><p> Test A </p></li> 
+0

对我有用嗯 – 2012-04-05 01:20:07

回答

0

那么你想要迭代的是元素列表。每一个都包含一些HTML("<p>text</p>“)

的最快方法是使用outerHTML给你描述的情景:

$cloneList.find('li').each(function(){ 
alert(this.outerHTML); 
}); 

但是它可能是谨慎张贴问题的一个更大的范围,因为它看起来也许是.clone()的结果并不完全是你想要的工作

+0

我通过ajax调用发送克隆列表给服务器。 – 2012-04-05 01:26:06

0

有与jQuery中自己的标签上印出一个元素没有直接的方法,你可以做的是在一个div中间包裹的元素,它打印的innerHTML:

$clonseList.each(function() { 
    alert(this.outerHTML || $('<div />').append($(this).clone()).html()); 
}); 

以上不会修改DOM,因为我们从未将额外的<div>追加到文档中。