Javascript 如何在jQuery中循环数组并在li中的数组中追加值

Javascript 如何在jQuery中循环数组并在li中的数组中追加值,javascript,jquery,conditional-statements,Javascript,Jquery,Conditional Statements,我在jQuery中有一个简单的数字数组。数字3、6、9、12、15代表无序列表中的一个特定位置,我想插入一个html div。所以在3、6、9等li之后,我想插入一个div。这是我的jQuery。在我的代码中,它似乎只在第15个li之后插入div。如何在每个特定位置插入div,而不仅仅是最后一个位置 var row = [3, 6, 9, 12, 15]; var emptyDiv= $('<div></div>'); jQuery.each(

我在jQuery中有一个简单的数字数组。数字3、6、9、12、15代表无序列表中的一个特定位置,我想插入一个html div。所以在3、6、9等li之后,我想插入一个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 + ')');
    });
var行=[3,6,9,12,15];
var emptyDiv=$('');
每个(行,函数(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 + ')');
});
var行=[3,6,9,12,15];
每个(行,函数(i,val){
$('').insertAfter('ul#state list li:n子项('+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 + ')');
});
var行=[3,6,9,12,15];
var emptyDiv=$('');
每个(行,函数(i,val){
emptyDiv.clone().insertAfter('ul#state list li:nth child('+val+'));
});

有关.clone()方法的详细信息,请访问:

您只创建了一个div,因此一次只能在一个位置创建它。可能您想创建多个div?这将创建无效的标记。。如果您确实想这样做,那么尝试移动
var emptyDiv=$('')到每个loop@Sushanth--什么是无效的?@PaulS。这不是
insertAfter
的工作原理-阅读文档并查看示例:您不需要使用
$(emptyDiv)
-只需使用
emptyDiv
-它已经是一个jQuery对象,可以访问jQuery方法,如
insertAfter
谢谢这是一个很大的帮助