2014-10-08 137 views
0

我試圖用jQuery在<div>標籤內包裝幾個元素。使用jQuery在div標籤內部包裹元素

我首先追加一個整體包裝,然後是一個頭元素,然後是一個span元素。我想換一個容器DIV頁眉和跨度,然後在這裏的幾個職位,並通過閱讀文檔,但都無法得到它的工作,目前它看起來像這樣:

$(responseData).each(function(i) { 
    var CountryN= this.CountryN; 
    var Subtitles= this.subTitle; 
    var $mainWrapper = $('<div/>').addClass('mainWrap'); 
    $mainWrapper.append($('<h4/>').text(CountryN)); 
    $mainWrapper.append($('<span/>').text(Subtitles).addClass('subT')); 
}) 

導致在此:

<div class="mainWrap"> 
    <h4>USA</h4> 
    <span class="subT">$12.1,563m, D.A.C = 01/01/2013</span> 
</div> 

我想要實現的是這種結構:

<div class="mainWrap"> 
    <div class="countryWrap"> 
     <h4>USA</h4> 
     <span class="subT">$12.1,563m, D.A.C = 01/01/2013</span> 
    </div> 
</div> 

我的頁面有幾個這些部分(每一個自己mainWrap內),試着用包裝,而是它需要包裝機器人h標題和副標題不知道如何選擇它們(如果這是最好的方式)

+0

你能展示一個關於'responseData'會包含什麼的示範片段嗎? – 2014-10-08 14:23:04

回答

1

我猜你想要的mainWrap內的多個countryWraps,在這種情況下,你必須創建mainWrap每個循環之外。

var $mainWrapper = $('<div/>').addClass('mainWrap'); 

$(responseData).each(function(i) { 
    var CountryN= this.CountryN; 
    var Subtitles= this.subTitle; 
    var $countryWrapper = $('<div/>').addClass('countryWrap'); 
    $countryWrapper.append($('<h4/>').text(CountryN)); 
    $countryWrapper.append($('<span/>').text(Subtitles).addClass('subT')); 
    $mainWrapper.append($countryWrapper); 
}) 
+0

這種方法以我需要的方式工作,謝謝。只需要將mainwrapper放入循環中,因爲(可憐的命名)它意味着mainCountryWrapper但除此之外。不知道爲什麼我不能工作,嘗試了幾乎相同的東西。儘管你的代碼工作得很好!謝謝 – Hagbard 2014-10-08 15:06:06

+0

很酷。有時候事情就是這樣。 :)請接受答案,如果它的工作。 – BuddhiP 2014-10-08 15:08:51