Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 拥有父元素时如何包装元素?_Javascript_Jquery - Fatal编程技术网

Javascript 拥有父元素时如何包装元素?

Javascript 拥有父元素时如何包装元素?,javascript,jquery,Javascript,Jquery,我的结构如下: <div class='wrap1'> <div class='element1'></div> <div class='element2'></div> </div> 但是,正如我所预料的,这将分别包装我的wrap1div中的每个子div 如何做到这一点?使用: $( ".element1,.element2" ).wrapAll( "<div class='anotherWrap'>&l

我的结构如下:

<div class='wrap1'>
 <div class='element1'></div>
 <div class='element2'></div>
</div>
但是,正如我所预料的,这将分别包装我的
wrap1
div中的每个子div

如何做到这一点?

使用:

$( ".element1,.element2" ).wrapAll( "<div class='anotherWrap'></div>");
$(“.element1,.element2”).wrapAll(“”);
在父元素上使用
.wrapInner()

$('.wrap1').wrapInner("<div class='new' />");
$('.wrap1').wrapInner(“”);
第三次使用
.contents()

$('.wrap1').contents().wrapAll(“”);

JSFIDDLE:.我也在尝试,但没有找到任何解决方案。我使用了以下方法。希望这对你有用

$('.wrap1').prepend("<div class='anotherWrap'>").append("</div>");
$('.wrap1')。前置(“”)。追加(“”);

您需要参考:
$('.wrap1').children().wrapAll(“”)可以正常工作。看,这只是我或你的例子很好?嗯,不太好。尽管chrome开发者工具显示一切正常,但事实并非如此。当我执行var x=$('.wrap1').children().wrapAll(“”),然后执行x.css('border','1px solid red');我可以看到两个红色边框的元素。log(x)还显示了两个元素,而不是一个。
$('.wrap1').wrapInner("<div class='new' />");
$('.wrap1').contents().wrapAll("<div class='anotherWrap'></div>");
$('.wrap1').prepend("<div class='anotherWrap'>").append("</div>");