Javascript循环迭代问题

Javascript循环迭代问题,javascript,php,jquery,loops,for-loop,Javascript,Php,Jquery,Loops,For Loop,我想运行一个for循环,它将生成一个包含单个链接的新div(类为“container”)。例如,第一个div将显示'link6.php',第二个div将显示'link5.php'等。然而,目前似乎每个div中的循环都在运行完整的循环(我附上了一张显示这一点的图片) for(变量i=6;i>0;i--){ $(“#一切”)。追加(“”); var link=“link”+i+”.php“+””; $('.container')。追加(链接); } 事先非常感谢。我是新手,非常感谢你的帮助;)

我想运行一个for循环,它将生成一个包含单个链接的新div(类为“container”)。例如,第一个div将显示'link6.php',第二个div将显示'link5.php'等。然而,目前似乎每个div中的循环都在运行完整的循环(我附上了一张显示这一点的图片)

for(变量i=6;i>0;i--){
$(“#一切”)。追加(“”);
var link=“link”+i+”.php“+”
”; $('.container')。追加(链接); }


事先非常感谢。我是新手,非常感谢你的帮助;)

问题是,在附加div之后,选择所有
.container
元素并将文本附加到每个元素。似乎没有理由不能做到以下几点

for (var i = 6; i > 0; i--) {
    $('#everything').append('<div class="container">link'+i+'.php<br /></div>');
}
for(变量i=6;i>0;i--){
$(“#一切”).append('link'+i+'.php
); }
给每个div指定“container”类,然后在所有.container上运行append()

您需要给div一个唯一的ID,或者由对象直接引用它。 例如:

for (var i = 6; i > 0; i--) {
    $('#everything').append('<div class="container'+i+'"></div>');
    var link = "link" + i + ".php" + "<br />";
    $('.container'+i).append(link);
}
for(变量i=6;i>0;i--){
$(“#一切”)。追加(“”);
var link=“link”+i+”.php“+”
”; $('.container'+i).append(link); }
问题在于每次执行
$('.container').append(link)
$('.container')
收集所有现有div,包括在以前的迭代中添加的div,并将链接附加到每个div

与其重新收集它们,不如重用对容器的现有引用。您可以链接
append
appendTo

for(变量i=6;i>0;i--){
$(“”)//创建容器
.append(“link”+i+“.php”)//用link追加容器
.appendTo(“#一切”);//将容器附加到一切
}
#一切{
填充:10px;
边框:1px纯蓝色;
}
.集装箱{
填充:10px;
边框:1px纯红;
}

这是我对您的代码的推荐。我建议您首先缓存东西,并了解jQuery的DOM选择是如何工作的

var everythingCached = $('#everything');
var container = $('<div class="container"></div>');

for (var i = 6; i >0; i--) {
    var cached = everythingCached.append(container);
    var link = "link" + i + ".php" + "<br />";
    cached.append(link);
}
var everythingCached=$(“#一切”);
变量容器=$('');
对于(变量i=6;i>0;i--){
var cached=everythingCached.append(容器);
var link=“link”+i+”.php“+”
”; cached.append(link); }

当您执行
$(“.container”).append()
时,它将
class=“container”
附加到每个DIV,而不仅仅是您刚才在这个循环中附加的\

解决此问题的简单方法是将
链接
包含在附加到
的内容中

for (var i = 6; i > 0; i--) {
    var link = "link" + i + ".php" + "<br />";
    $('#everything').append('<div class="container">' + link + '</div>');
}
for(变量i=6;i>0;i--){
var link=“link”+i+”.php“+”
”; $(“#一切”).append(“”+link+“”); }
也可以将容器创建为对象:

$('#everything').append($('<div>', {
    "class": "container",
    html: "link" + i + ".php<br/>"
});
$('#一切')。追加($(''){
“类”:“容器”,
html:“链接“+i+”.php
” });
或者,您可以将容器分配给变量并附加到该变量:

var container = $('<div class="container">').appendTo("#everything");
var link = "link" + i + ".php" + "<br />";
container.append(link);
var container=$('').appendTo(“#一切”);
var link=“link”+i+”.php“+”
”; container.append(link);
您应该仔细阅读jQuery文档,了解它们关于DOM选择的规范。不过,我可以帮您。对不起,@EnglishMaster我是新手!非常感谢您的帮助!老实说,这很好,但我不推荐。在这种情况下使用类没有任何意义。非常感谢!我用了这个,效果非常好。比我得到的要简单得多…:)
var container = $('<div class="container">').appendTo("#everything");
var link = "link" + i + ".php" + "<br />";
container.append(link);