2010-07-16 1386 views
2

任何想法我的代码有什么问题?循环创建多个div元素? JQUERY

var pageLimit=30; 

$(document).ready(function() { 
for(var i = 1; i <= pageLimit; i++) { 
    $('#test').append('<div id="page' + i + '" class="touch">TESTING</ div>') 
} 
} 

我想要的是让该函数在pageLimit值中创建多个div。因此,如果有人要进入代码并将pageLimit更改为50,则会创建50个div标签。

在body标签中,我所拥有的就是测试div。 我想把它放入体内,而不插入任何其他divs。所以我试图用body替换#test,不起作用。

请帮忙!谢谢。

编辑:对不起,我有);在我原来的代码中,我忘了在这里复制它! 是的,
标签之前,我知道如何将代码插入此...大声笑对不起。我有 );在我原来的代码中,它仍然不起作用。

+0

你能不能展示一些html代码 - 你有什么,当你的代码完成操作时你想要什么? – 2010-07-16 14:14:54

+0

在所有代码行之前添加4个空格,并且它将在stackoverflow上正确显示。 – Fosco 2010-07-16 14:17:09

+0

要添加HTML,请编辑您的问题(当您查看它时应该有一个编辑链接),并通过突出显示它并单击'101010'按钮使代码部分有点代码。 – justkt 2010-07-16 14:18:36

回答

1

你的问题到底是一个简单的语法问题。你错过了“)”。始终确保也添加行结尾。这工作:

$(document).ready(function() { 
     for (var i = 1; i <= pageLimit; i++) { 
      $('#test').append('TESTING'); 
     } 
    }); 
+0

另外:这里是优化的代码。这使得一个DOM操作会大大提高性能。 var pageLimit = 30, testing ='TESTING'; (var i = 1; i <= pageLimit; i ++){ testing + = testing; } $('#test')。$(document).ready(function(){ 追加(试验); }); – Zacho 2010-07-16 14:21:00

6

Missing“);”在最后}之后。

$(document).ready(function() { 
    for (var i = 1; i <= pageLimit; i++) { 
     $('#test').append('TESTING'); 
    } 
}); 
0

如何document.body.innerHTML + ='TESTING'; ?

+0

“$(document).body的这个错误是未定义的”。正如您将文档包装为JQeury对象一样。所有你需要做的是document.body ...不需要JQuery。 – 2010-07-16 14:19:50

+0

啊,是的,很好的感谢。 – Fosco 2010-07-16 14:23:12

0

看来它仍然是一个语法问题,你有简单的报价,然后反引号你的元素字符串,尝试删除后引号。当然,确保你的html中有<div id="test"></div>

$(document).ready(function() { 
    for(var i = 1; i <= pageLimit; i++) { 
    $('#test').append('<div id="page' + i + '" class="touch">TESTING</div>') 
    } 
}); 

除非那是你的问题的另一个错字。

+0

不是,因为当你想在引号内包含引号时,外引号应该是单引号,而内引号应该是双引号。 如果您使用记事本++,您可以看到不同之处。 至少这是我的老师教我的! – Annie 2010-07-16 20:07:58

+0

我正在谈论后面的报价(')。正如你在我放置的代码中看到的那样,我也有单引号和双引号。 – guzart 2010-07-17 06:57:16

0
$('body').append('<div>TESTING</div>') 

应该工作。你的不工作代码是什么样的?