2013-09-27 59 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/