我有 div #one 的内容,我想要(但我不知道如何)在 div #one 上创建(通过 jQuery)第二个 div 和 div #one 内容,例如:
<div id="one">
<p>Content content</p>
</div>
<div id="one">
<div id="second" style="width: xxxpx; ...">
<p>Content content</p>
</div>
</div>
我有 div #one 的内容,我想要(但我不知道如何)在 div #one 上创建(通过 jQuery)第二个 div 和 div #one 内容,例如:
<div id="one">
<p>Content content</p>
</div>
<div id="one">
<div id="second" style="width: xxxpx; ...">
<p>Content content</p>
</div>
</div>
我建议:
$('#one').wrapInner('<div id="second"></div>');
这基本上选择了元素(在本例中为#one
元素),并用方法中传递的 HTML 字符串包装了它的整个子节点wrapInner()
。
显然,我想,当对比一个更多的元素执行相同的内容更改时,这种方法会发挥作用,但即使在“只有一个”的情况下,它仍然可以节省时间。
参考:
尝试这个:
$('p').wrap('<div id="second"></div>');
您可以使用 jQuery .wrap()
代码:
$('#one').contents().wrap('<div id="second" style="width: xxxpx; ..."></div>');
你应该看看 jQuery.wrap 函数http://api.jquery.com/wrap/
$('#one p').wrap('<div id="second" style="width: xxxpx; ...">');
$('#one').contents().wrapAll('<div id="second"></div>');
像这样:
// get html for first div
var divOneHtml = $("#one").html();
// create inner div
var div2 = document.createElement("div");
// set id
div2.id="second";
// set css
div2.style = "<style>";
// set content of inner div to original content of outer div
$(div2).html(divOneHtml);
// append second div to original div
$("#one").append(div2);
像这样的东西应该工作......
var currentContent = $('#one').html();
var secondDiv = $('<div/>').attr('id', 'second').html(currentContent);
$('#one').html(secondDiv);
PS:呵呵,我想我来晚了,毕竟不是最佳答案
:p
编辑-> 添加 jsfiddle 网址:http: //jsfiddle.net/RqvLU/