Javascript 循环遍历每个元素并按顺序打印值

Javascript 循环遍历每个元素并按顺序打印值,javascript,jquery,Javascript,Jquery,我有一些代码,我想循环遍历元素的数量,并将每个元素中的文本设置为1到多少。我的方法如下: $(函数(){ var项目=$(“.item”); 项目。每个(功能(i){ var itemCount=i+1; items.text(itemCount); }); }); 项目设置为$(“.item”)因此您需要使用$(this) $(函数(){ var项目=$(“.item”); 项目。每个(功能(i){ var itemCount=i+1; $(this).text(itemCount); }

我有一些代码,我想循环遍历元素的数量,并将每个元素中的文本设置为1到多少。我的方法如下:

$(函数(){
var项目=$(“.item”);
项目。每个(功能(i){
var itemCount=i+1;
items.text(itemCount);
});
});

项目
设置为
$(“.item”)
因此您需要使用
$(this)

$(函数(){
var项目=$(“.item”);
项目。每个(功能(i){
var itemCount=i+1;
$(this).text(itemCount);
});
});

您必须像
$(this)
一样使用
this
作为选择器<代码>此
引用每个循环上的元素

目前,您使用的是
items
,它引用了类为
.item
的所有html元素

$(函数(){
var项目=$(“.item”);
项目。每个(功能(i){
var itemCount=i+1;
$(this).text(itemCount);
});
});

问题是因为
引用了所有元素,所以在每次迭代中都要更新其中的每一个元素。要解决此问题,可以使用
this
关键字引用
each()
循环中的当前实例

更好的是,您可以为
text()
方法提供一个函数,并使用提供给handler函数的第一个参数,即元素的索引。这样,您根本不需要显式循环或对元素的引用。试试这个:

$(“.item”).text(函数(i){
return++i;
});

$(this).text(itemCount)
-items是您的数组,您需要特定于loopsidenote的数组,无需自己迭代。这同样有效:
$(“.item”).text(index=>index+1)