Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.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
Jquery 在一个容器中包装两个div_Jquery_Html - Fatal编程技术网

Jquery 在一个容器中包装两个div

Jquery 在一个容器中包装两个div,jquery,html,Jquery,Html,我有一个包含多个div的容器,我需要使用jquery将其中两个div包装到另一个div中。请建议可能的方法 实际结构 <div class='parent'> <div class='a'>abcd</div> <div class='b'>abcd</div> <div class='c'>abcd</div> <div class='d'>abcd</div> </div

我有一个包含多个div的容器,我需要使用jquery将其中两个div包装到另一个div中。请建议可能的方法

实际结构

<div class='parent'>
 <div class='a'>abcd</div>
 <div class='b'>abcd</div>
 <div class='c'>abcd</div>
 <div class='d'>abcd</div>
</div>

abcd
abcd
abcd
abcd
预期结构:

<div class='parent'>
 <div class='a'>abcd</div>
 <div class='child'>
  <div class='b'>abcd</div>
  <div class='c'>abcd</div>
 </div>
 <div class='d'>abcd</div>
</div>

abcd
abcd
abcd
abcd
使用:

$('.b,.c').wrapAll('');

您可以使用
wrapAll()
函数!它包装与选择器匹配的所有元素!:)

$('.b,.c').wrapAll('')

检查此项

$('.b,.c').wrapAll('<div class="child"></div>')
$('.b,.c').wrapAll('')
使用Jquery——它将html结构包装在所有匹配的元素周围

.wrap(): Wrap an HTML structure around each element in the set of matched elements.
.wrapAll(): Wrap an HTML structure around all elements in the set of matched elements.
.wrap()单独包装每个元素,但.wrapAll()将所有元素包装为一个组

例如:

<div class="foo"></div>
<div class="foo"></div>
<div class="foo"></div>

使用$('.foo').wrap('');,发生这种情况:

<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
<div class="bar">
  <div class="foo"></div>
  <div class="foo"></div>
  <div class="foo"></div>
</div>

但是用$('.foo').wrapAll('');,发生这种情况:

<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
<div class="bar"><div class="foo"></div></div>
<div class="bar">
  <div class="foo"></div>
  <div class="foo"></div>
  <div class="foo"></div>
</div>


至少您可以使用WrapAll函数来实现这一点:-)

下面是在Wrap元素之后调用jQuery的一种方法

<div class='form-container'>
    ...
    <div class='form-label'>Name (required)</div>
    <div class='form-field'><input type="text" name="you-name" value="" class="textbox" size="30" maxlength="200" /></div>

    <div class='form-label'>Email (required)</div>
    <div class='form-field'><input type="text" name="you-email" value="" class="textbox" size="30" maxlength="200" /></div>
    ...
</div>


<script type='text/javascript'>
    $(".form-container .form-label").each(function(index) {
        $(this).next(".form-field").andSelf().wrapAll("<div class='form-element-wrapper' />")
    });
</script>

...
姓名(必填)
电子邮件(必需)
...
$(“.form container.form label”)。每个(函数(索引){
$(this).next(“.form字段”).andSelf().wrapAll(“”)
});

这个答案并不能解决OP想要的问题。它将匹配.form容器下的每个.form标签,而OP只希望匹配几个div。