-3

我有 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>
4

7 回答 7

6

我建议:

$('#one').wrapInner('<div id="second"></div>');

这基本上选择了元素(在本例中为#one元素),并用方法中传递的 HTML 字符串包装了它的整个子节点wrapInner()

显然,我想,当对比一个更多的元素执行相同的内容更改时,这种方法会发挥作用,但即使在“只有一个”的情况下,它仍然可以节省时间。

参考:

于 2013-09-27T21:18:02.233 回答
1

尝试这个:

$('p').wrap('<div id="second"></div>');
于 2013-09-27T21:15:33.067 回答
0

您可以使用 jQuery .wrap()

代码:

$('#one').contents().wrap('<div id="second" style="width: xxxpx; ..."></div>');
于 2013-09-27T21:15:40.320 回答
0

你应该看看 jQuery.wrap 函数http://api.jquery.com/wrap/

$('#one p').wrap('<div id="second" style="width: xxxpx; ...">');
于 2013-09-27T21:16:14.000 回答
0

http://jsfiddle.net/x5TAp/

$('#one').contents().wrapAll('<div id="second"></div>');
于 2013-09-27T21:17:09.273 回答
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);
于 2013-09-27T21:17:09.340 回答
0

像这样的东西应该工作......

var currentContent = $('#one').html();
var secondDiv = $('<div/>').attr('id', 'second').html(currentContent);
$('#one').html(secondDiv);

PS:呵呵,我想我来晚了,毕竟不是最佳答案

:p

编辑-> 添加 jsfiddle 网址:http: //jsfiddle.net/RqvLU/

于 2013-09-27T21:25:16.547 回答