创建一个添加内容的循环

时间:2015-08-31 08:05:25

标签: javascript jquery

我没有经验丰富的javascript和全新循环的想法,但我知道它可以节省大量的代码。所以我一直试图创建一个循环。这是我的问题:我找到了第一行中的每个变量,并希望在A中添加一个值。我知道$(这个)并没有做到这一点,但我无法想出更好的东西作品。

基本上,我想要第一个变量amount[0]和第二个amount[1]等等。

这是我到目前为止所拥有的......

$(a).each(function() {
    $(this).find("a").after( (" (" + amount[0] + ")"));
});

2 个答案:

答案 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