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

How loop through array in jQuery and append the values in the array inside an li

本文关键字:数组 li jQuery 循环 遍历      更新时间:2023-09-26

我在jQuery中有一个带数字的简单数组。数字3、6、9、12、15表示无序列表中的一个特定位置,我想在该位置插入一个htmldiv。因此,在3、6,9等li之后,我想插入一个div。这是我的jQuery。在我的代码中,似乎只在第15li之后插入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 + ')');
    });

试试这个:

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

您可以使用.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/