如何在jQuery中循环遍历数组并将数组中的值附加到li中

时间:2013-07-15 21:44:01

标签: javascript jquery conditional-statements

我在jQuery中有一个带数字的简单数组。数字3,6,9,12,15表示我想要插入html div的无序列表中的特定位置。所以在3,6,9等之后我想插入一个div。这是我的jQuery。在我的代码中,似乎只在第15个li之后插入div。如何在每个特定位置插入div而不仅仅是最后一个?

    var row = [3, 6, 9, 12, 15];

    var emptyDiv= $('<div></div>');

    jQuery.each(row, function(i, val){
        $(emptyDiv).insertAfter('ul#state-list li:nth-child(' + val + ')');
    });

2 个答案:

答案 0 :(得分:0)

试试这个:

var row = [3, 6, 9, 12, 15];
jQuery.each(row, function(i, val) {
    $('<div>').insertAfter('ul#state-list li:nth-child(' + val + ')');
});

答案 1 :(得分:0)

您可以使用.clone()

.clone()方法创建匹配元素的副本。

在你的情况下,不是为每一行创建一个空div,而只是在行中插入(移动)div。所以在第一个循环中,div在第3行,在第二个循环中,div在第6行,依此类推,直到到达第15行。

因此,使用.clone()方法,您可以插入div的副本,每行都会有div的副本。

var row = [3, 6, 9, 12, 15];

var emptyDiv= $('<div></div>');

jQuery.each(row, function(i, val){
    emptyDiv.clone().insertAfter('ul#state-list li:nth-child(' + val + ')');
});

有关.clone()方法的更多信息:http://api.jquery.com/clone/