2013-09-27 57 views
-2

我有div #one的内容,我想(但我不知道如何)创建(通过jQuery)div #one与div #one内容的第二个div,如:jQuery - 在div上创建div与内容

<div id="one"> 
    <p>Content content</p> 
</div> 

<div id="one"> 
    <div id="second" style="width: xxxpx; ..."> 
    <p>Content content</p> 
    </div> 
</div> 
+3

你会得到答案,告诉你如何做*完全*你要求什么 - 我现在可以这样做 - 但那是g足够吗?这是你想要进一步延伸的东西吗? – Archer

+0

选中此项:http://jsfiddle.net/rKhg6/ – karthikr

+1

明白我的意思? – Archer

回答

1

试试这个:

$('p').wrap('<div id="second"></div>'); 
0

您可以使用jQuery .wrap()

代码:

$('#one').contents().wrap('<div id="second" style="width: xxxpx; ..."></div>'); 
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

我建议:

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

这基本上选择元素(在这种情况下为#one元素),并将其整个子节点用在wrapInner()方法中传递的HTML字符串进行包装。很显然,我认为,这种方法在对大量元素进行相同的内容更改时不仅仅是一个,而且即使在“只有一个”的情况下,它仍然可以节省时间。

参考文献:

+1

+1 - 好多了! – adeneo

+0

@adeneo:非常感谢! –

+1

哦,那很好。错字,但不错:$('#one')。wrapInner('

'); –

0

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

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

PS:嘿,你猜我是太晚了,毕竟不是

最佳答案:对

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