我在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 + ')');
});
答案 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/