我想在Div容器中使用jQuery创建Div元素(TypeScript)

问题描述:

我想创建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

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

通过创建单个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

我没有采取什么回事仔细看,但什么跳出我马上是你的第二个循环是没有做任何事情如果你“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'); 

这不是最简单的方法,但它应该做你想做的。