如何为jquery中的所有子节点添加单个父元素
问题描述:
我有下面这段代码工作正常。但是,在此,当点击第一个元素[节点1]时,它被复制到目标div但没有父'UL'。当我直接点击子节点时也是如此。我的意思是,如果我点击节点1.1,节点1.2等,那么这些应该被捕获在单个“UL”元素内。即,如何为jquery中的所有子节点添加单个父元素
这下面应该改为
`<li><span>Node 1.1</span></li><li><span>Node 1.2</span></li>`
(这就是我现在越来越) 作为
<UL><li><span>Node 1.1</span></li><li><span>Node 1.2</span></li></UL>
同样应该发生,如果选择“节点1”也。
有什么想法?请帮忙。
http://jsfiddle.net/fjaLsnLh/7/请在此小提琴链接上进行修改。
答
答
您可以使用jQuery方法wrapAll()来实现这一目标。
语法:
$(selector).wrapAll(wrappingElement);
$('li').wrapAll('<ul></ul>');
如:
$(document).ready(function() {
$("button").click(function() {
$("li").wrapAll("<ul></ul>");
});
});
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<body>
<UL>
<li><span>Node 1.1</span>
</li>
<li><span>Node 1.2</span>
</li>
</UL>
<button>Wrap a div element around all p elements</button>
</body>
+0
你能否让我在JSfiddle链接中做这项工作,我复制? – User123
为什么不'ul'添加到目标股利和再追加,像这样:http://jsfiddle.net/fjaLsnLh/9/ –
@ShaunakD,我遵循你的想法,并使我的代码工作,谢谢! – User123
很高兴为您效劳。 –