我正在尝试在wrap类中包装不是div的每个直接对象组。有什么办法
输入:
var $code =
'Lorem Ipsum
<p>Foo Bar</p>
<div class="myclass"></div>
<p>Foo Bar</p>
<div class="myclass"></div>'
var $object = $('<div/>').html($code);
通缉输出:
<div class="wrap">
Lorem Ipsum
<p>Foo Bar</p>
</div>
<div class="myclass"></div>
<div class="wrap">
<p>Foo Bar</p>
</div>
<div class="myclass"></div>
我尝试了什么:
$object.contents().not('> .myclass').wrap('<div class="wrap"></div>');
是的,有人能帮帮我吗?我被困在这里
非常感谢!
答案 0 :(得分:2)
没有检查是否有更优化的方法,但你去了
var code =
'Lorem Ipsum<p>Foo Bar</p><div class="myclass"></div><p>Foo Bar</p><div class="myclass"></div>'
var $object = $('<div/>').html(code);
var $obj = $();
$object.contents().each(function () {
if ($(this).hasClass('myclass')) {
$obj.wrapAll('<div class="wrap"/>');
$obj = $();
} else {
$obj = $obj.add(this)
}
})
$obj.wrapAll('<div class="wrap"/>');
演示:Fiddle