我有内容#one和我想要(但我不知道如何)创建(通过jQuery)div #one上的第二个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>
答案 0 :(得分:6)
我建议:
$('#one').wrapInner('<div id="second"></div>');
这基本上选择了元素(在本例中为#one
元素),并使用wrapInner()
方法中传递的HTML字符串包装其整个子节点。
显然,我认为,当对大量元素执行相同的内容更改而不仅仅是一个时,这种方法就会出现,但即使在“只有一个”的情况下,它仍然可以节省时间。
参考文献:
答案 1 :(得分:1)
试试这个:
$('p').wrap('<div id="second"></div>');
答案 2 :(得分:0)
您可以使用jQuery .wrap()
代码:
$('#one').contents().wrap('<div id="second" style="width: xxxpx; ..."></div>');
答案 3 :(得分:0)
您应该查看jQuery.wrap函数http://api.jquery.com/wrap/
$('#one p').wrap('<div id="second" style="width: xxxpx; ...">');
答案 4 :(得分:0)
$('#one').contents().wrapAll('<div id="second"></div>');
答案 5 :(得分:0)
像这样:
// 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);
答案 6 :(得分:0)
这样的事情应该有用......
var currentContent = $('#one').html();
var secondDiv = $('<div/>').attr('id', 'second').html(currentContent);
$('#one').html(secondDiv);
PS:嘿,我觉得我太迟了,毕竟不是最佳答案
:P
编辑 - &gt;添加了jsfiddle网址:http://jsfiddle.net/RqvLU/