关于jquery clone的问题
请问我下面代码执行后为什么不能达到预期效果。我希望克隆列表中的所有连接并把他们包装到一个div标签里。大家帮忙分析下,谢谢!
jquery代码如下:
$(function()
{
var copy = $('.myList li a').clone();
copy.wrap($('#myDiv'));
});
html代码缩影:
<div id="someDiv">This is a <div> with an id of <tt>someDiv</tt></div>
<div id="myDiv" title="myTitle1"><span>Hello</span></div>
<div title="myTitle2"><span>Goodbye</span></div>
<ul class="myList">
<li><a href="http://jquery.com">jQuery supports</a>
<ul>
<li><a href="css1">CSS1</a></li>
<li><a href="css2">CSS2</a></li>
<li><a href="css3">CSS3</a></li>
<li>Basic XPath</li>
</ul>
</li>
<li>jQuery also supports
<ul>
<li>Custom selectors</li>
<li>Form selectors</li>
</ul>
</li>
</ul>
------------------------------------------
问题补充:
winner720 写道
copy.wrap($('#myDiv'));
改成:
copy.appendTo("#myDiv"); 或者 $("#myDiv").append(copy);
我实在尝试用wrap的方法实现这个功能 这样能帮助我更好的理解wrap的应用 是不是这里不能用wrap 如果是 请告诉我为什么
=====================================================================
wrap是包裹功能。(按照你的需求不该用wrap)
详细信息见jquery文档
返回值:jQuery wrap(elem)
概述
把所有匹配的元素用其他元素的结构化标记包装起来。
参数
elemElement用于包装目标元素的DOM元素
示例
描述:
用ID是"content"的div将每一个段落包裹起来
HTML 代码:
<p>Test Paragraph.</p><div id="content"></div>jQuery
代码:
$("p").wrap(document.getElementById('content'));
结果:
<div id="content"><p>Test Paragraph.</p></div><div id="content"></div>