Javascript 使用循环将数组值指定给元素
我怎样才能给李a,b,c的值?目前,我下面的代码,我得到了所有的cJavascript 使用循环将数组值指定给元素,javascript,jquery,arrays,Javascript,Jquery,Arrays,我怎样才能给李a,b,c的值?目前,我下面的代码,我得到了所有的c arr = ['a','b','c']; arr.forEach(function(obj){ var x = obj; $('li').each(function () { $(this).text(x); }); }); 我的代码有问题吗?这是因为在迭代数组并设置值时,您正在迭代所有li。text接受函数作为参数,该参数接受索引作为参数。这将消除迭代li和数组元素的需要: var arr
arr = ['a','b','c'];
arr.forEach(function(obj){
var x = obj;
$('li').each(function () {
$(this).text(x);
});
});
我的代码有问题吗?这是因为在迭代数组并设置值时,您正在迭代所有li。text接受函数作为参数,该参数接受索引作为参数。这将消除迭代li和数组元素的需要:
var arr = ['a','b','c'];
$('li').text(function(i){
return arr[i];
});
首先,将所有li的文本设置为“a”,然后设置为“b”,最后设置为“c” 相反,您可以尝试迭代li元素,并将当前元素的文本内容设置为arr中的相应项: var arr=['a','b','c']; $li.每个函数{ $this.textarr[i]; }; 您应该按arr进行迭代,而不是按所有li元素进行迭代,您可以这样做:
arr = ['a','b','c'];
$.each(arr, function(i,v){
$('li').eq(i).text(v);
});
arr = ['a','b','c'];
$('li').each(function(index) {
$(this).text(arr[index]);
});
这样,您将分配与数组中元素数量完全相同的li文本。在您的代码中,每次执行外部迭代器时,都会使用迭代结果发送文本。因此,你会得到所有的“c” 要正确执行此操作,您应该编写如下代码:
arr = ['a','b','c'];
$.each(arr, function(i,v){
$('li').eq(i).text(v);
});
arr = ['a','b','c'];
$('li').each(function(index) {
$(this).text(arr[index]);
});
jQuery每个函数都将传入一个索引,您可以使用该索引
arr = ['a','b','c'];
$('li').each(function(i) {
$(this).text(arr[i]);
});