2017-06-22 93 views
-1

我想創建10個包含10個Div元素的Div-Containers。爲此 我已經使用jquery寫了下面的代碼打字稿:我想在Div容器中使用jQuery創建Div元素(TypeScript)

for (var i = 0; i < 10; i++) { 
     var outsidediv = $('<div id="outsidediv"></div>').appendTo('body') 
     for (var j = 0; j < 10; j++) { 
     } 
     var innerdiv = $('<div class="innerdiv"></div>').appendTo('outsidediv'); 
    } 
}) 

但它所做的一切,是它創建10個股利容器和一個div元素,這是不是一個容器內。 我真的很感激,如果有人可以快速看看這個(通常)簡單的問題。

非常感謝!

+0

到appendTo參數應該是一個選擇器或某個元件或一jQuery對象。你在這裏給了它字符串。 $('body')而不是body,而outsidediv而不是'outsidediv'應該這樣做。 http://api.jquery.com/appendto/ – Jeremy

回答

0

for (var i = 0; i < 10; i++) { 
 
    var outsidediv = $('<div id="outsidediv' + i +'" class="outsidediv" />').appendTo('body'); 
 
    
 
    for (var j = 0; j < 10; j++) { 
 
     var innerdiv = $('<div class="innerdiv"/>').appendTo('.outsidediv:last-child'); 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

我真的覺得,我可以用你的解決方案,非常感謝你! – Ramon

0

通過創建單個HTML字符串並將其附加到主體,一次性添加已在其容器#outsidediv內的.innerdiv

for (var i = 0; i < 10; i++) { 
     var div = '<div id="outsidediv">' + 
        '<div class="innerdiv"></div>' + 
        '<div class="innerdiv"></div>' + 
        '<div class="innerdiv"></div>' + 
        '<div class="innerdiv"></div>' + 
        '<div class="innerdiv"></div>' + 
        '<div class="innerdiv"></div>' + 
        '<div class="innerdiv"></div>' + 
        '<div class="innerdiv"></div>' + 
        '<div class="innerdiv"></div>' + 
        '<div class="innerdiv"></div>' + 
        '</div>'; 
     $('body').append(div); 
    } 
}) 
+0

不知何故,我有相同的輸出比以前:10容器(outsidediv)和一個(innerdiv).. – Ramon

+0

我不明白這是如何可能的,只有我能想到的事情是你以前的腳本已被緩存。清除你的緩存,刷新頁面,再試一次 – Mintblaze

+0

好吧,我認爲你的代碼現在正在運行,但它創建了每個容器中只有10個div的容器,但是我需要每個容器中有10個div。 – Ramon

0

我沒有采取什麼回事仔細看,但什麼跳出我馬上是你的第二個循環是沒有做任何事情如果你「innerdiv」變量低於它關閉的位置。

for (var i = 0; i < 10; i++) { 
    $('<div id="outsidediv"></div>').appendTo('body'); 
    for (var j = 0; j < 10; j++) { 
     $('<div class="innerdiv"</div>').appendTo('outsidediv'); 
    } 
    } 

但是解決這個問題不會工作,因爲jquery不知道要追加到哪個'outsidediv'。你將不得不考慮一種不同的方法。也許只是輸出你想要的HTML?

var html = ''; 
for (var i = 0; i < 10; i++) { 
    html += '<div id="outsidediv">'; 
    for (var j = 0; j < 10; j++) { 
    html += '<div class="innerdiv"</div>'; 
    } 
    html += '</div>'; 
} 
$(html).appendTo('body'); 

這不是最簡單的方法,但它應該做你想做的。