也许它有点愚蠢,但它仍然无法奏效。我试图用另一个div包装两个不同类的div但是我当前的输入只是自动关闭div。
有几组div,其中.panel-heading和.panel-body类是两组。
我试图用.panel面板默认类对div进行包装,但是我的代码关闭了div,所以它只创建了两个空div。我不知道我的代码有什么问题。我正在使用jquery
<html>
<body>
<div class="panel-head"></div>
<div class="panel-body"></div>
<div class="panel-head"></div>
<div class="panel-body"></div>
<div class="panel-head"></div>
<div class="panel-body"></div>
</body>
</html>
和jquery
$('div.panel-head').before (
'<div class="panel panel-default">');
$('div.panel-body').after ('</div>');
但是这段代码会创建两个div,自动关闭并打开不允许环绕的标签。我无法在智能手机上创建jsfiddle,并且无法在电脑上使用互联网,请有人告诉我如何绕过这种行为
答案 0 :(得分:3)
我从here获取了这个:
$(".panel-head").each(function() {
$(this).next(".panel-body").addBack().wrapAll("<div class='panel panel-default' />")
});
修改强>
最初使用了andSelf()
,但已弃用,我使用addBack()
更改了
答案 1 :(得分:0)
希望这是你正在寻找的东西。您将不得不进行一些错误检查(例如,头部和身体的长度必须相同)。
// Get all heads and bodies
var $phead = $('.panel-head');
var $pbody = $('.panel-body');
// loop to create default panel and insert head and body
for (int i = 0; i < $phead.length; i++)
{
var h = $($phead[i]);
var b = $($pbody[i]);
// create new div
var d = $('<div />', class: 'panel-default');
// append body and head
h.appendTo(d);
b.appendTo(d);
//append new div to body
$('body').append(d);
}
&#13;