jQuery - 使用内容在div上创建div

时间:2013-09-27 21:12:57

标签: javascript jquery html

我有内容#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>

7 个答案:

答案 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)

http://jsfiddle.net/x5TAp/

$('#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/