我有一系列用PHP加载的div。它们在jQuery中加载时重新排序,可以使用按钮重新排序。我想在第n个div之后插入一些HTML(例如:总是在第二个之后,无论顺序如何)。我试过了:
$('#card-box').children(':eq(1)').after('<b>test</b>');
在div重新排序的行下方。但是它把它放在PHP的第二个div之下,在它们被jQuery重新排序之前,并且在用一个按钮排序之后它会移到顶部。
div通过其data-id属性在jQuery中重新编码。像这样:
var div = $('#card-box');
var listitems = div.children('div.card').get();
listitems.sort(function (a, b) {
return (+$(a).attr('data-id') > +$(b).attr('data-id')) ? -1 : (+$(a).attr('data-id') < +$(b).attr('data-id')) ? 1 : 0;
});
答案 0 :(得分:0)
排序后需要将它们重新注入DOM中
var div = $('#card-box'),
listitems = div.children('div.card');
listitems.sort(function (a, b) {....
});
listitems.detach().appendTo(div);
div.children(':eq(1)').after('<b>test</b>');