【发布时间】:2014-10-19 18:17:06
【问题描述】:
我是 JS 和 Query 的新手,所以我认为这是一项非常简单的任务,我只想从 $.each() 中重写 "loop" 进行测试> 到 $().each() 和 for 循环。 这是我的代码。
var tab = ["John", "Steve", "Ben", "Damon", "Ian"],
$list = $('#list');
$.each(tab,function(index,value){
$list.append("<li>"+ value+ "</li>");
});
第二个和第三个循环不起作用:
tab.each(function(index){
$list.append("<li>"+ tab[index] + "</li>");
});
和
for (var i,len=tab.length;i<len;i++) {
$list.append("<li>"+ tab[i]+ "</li>");
}
怎么了?
【问题讨论】:
-
没有区别。有吗?
-
变量 i 未在 for 循环中初始化。
-
并且$.each和$(..).each()是有区别的,在第一种情况下,jQuery期望第一个参数是一个数组,并会执行回调数组中的每个元素。其次,jQuery 将选择文档中符合指定条件的元素,然后遍历每个匹配的元素。如果没有元素(很可能没有,因为您正在尝试添加它们),则不会在指定的 .each() 操作中执行任何操作。
标签: jquery loops for-loop each