我没有经验丰富的javascript和全新循环的想法,但我知道它可以节省大量的代码。所以我一直试图创建一个循环。这是我的问题:我找到了第一行中的每个变量,并希望在A中添加一个值。我知道$(这个)并没有做到这一点,但我无法想出更好的东西作品。
基本上,我想要第一个变量amount[0]
和第二个amount[1]
等等。
这是我到目前为止所拥有的......
$(a).each(function() {
$(this).find("a").after( (" (" + amount[0] + ")"));
});
答案 0 :(得分:2)
所以我假设你想要这样的事情:
$('a').each(function(index) {
if (index >= amount.length) return; // avoind IndexOutOfBounds Exception
$(this).after( " (" + amount[index] + ")"); // $(this) will refer to a link, in this each
});
在每个链接(a
)之后,您想添加一个'(text_from_amount)',其中text_from_amount取自数量数组?
有关每一项的更多信息,请here。
答案 1 :(得分:1)
首先,你使用的是jQuery,而不是原生的Javascript。
$(selector).each
函数可能有两个参数:第一个是循环计数器,第二个是回调。
(使用each()
方法的计数器,假设amount
数组包含所有这些条目。更好的方法是使用条件来检查amount[counter]
是否存在)< / p>
$(a).each(function(counter, value) {
//conditional to check array entry
if (amount[counter] !== undefined) {
$(value).find("a").after('(' + amount[counter] + ')');
}
});
$.each()
函数(没有选择器)可用于迭代数组或对象数组:
// An array
var myArray = ['one', 'two', 'three'];
$.each(myArray, function (counter, value) {
console.log(counter);
console.log(value);
});
// An array of objects
var myArrayObject = [
{
one: 'foo',
two: 'bar'
},
{
one: 'another foo',
two: 'another bar'
}
];
$.each(myArrayObject, function (counter, value) {
console.log(counter);
console.log(value.one);
console.log(value.two);
});
有关详细信息,请参阅docs。