如何使用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 code ...
var $cloneList = $("#testList").clone();
$cloneList.each(function()
{
alert($(this).html());
});
问题是alert方法的输出显示列表的内容:
<p> Test A </p>
我需要的是像这样显示ul列表
<li><p> Test A </p></li>
答案 0 :(得分:0)
没有直接的方法在jQuery中打印元素及其自己的标记,你可以做的是在div中间包装元素并打印它的innerHtml:
$clonseList.each(function() {
alert(this.outerHTML || $('<div />').append($(this).clone()).html());
});
以上内容不会修改DOM,因为我们从不将额外的<div>
附加到文档中。
答案 1 :(得分:0)
你想要迭代的是一个li元素列表。每个都包含一些html("<p>text</p>
“)。
最快的方法是根据您描述的场景使用outerHTML:
$cloneList.find('li').each(function(){
alert(this.outerHTML);
});
然而,发布更大范围的问题可能是谨慎的,因为似乎.clone()的结果可能不是您想要使用的结果。