在第 n 个 div 之后插入 HTML,在 div 重新排序之后
Insert HTML after nth div, after divs are re-ordered
我有一系列 div 与 PHP 一起加载。它们在 jQuery 中加载时重新排序,并且可以使用按钮重新排序。我想在第 n 个 div 之后插入一些 HTML (例如:总是在第 2 个之后,无论顺序如何)。我试过了:
$('#card-box').children(':eq(1)').after('<b>test</b>');
在 div 重新排序的行下方。但是它将它放在 PHP 中第二个的 div 之下,在它们被 jQuery 重新排序之前,并且在使用按钮排序后它移动到顶部。
div 在 jQuery 中通过其 data-id 属性重新排序。像这样:
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;
});
排序后需要重新注入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>');
我有一系列 div 与 PHP 一起加载。它们在 jQuery 中加载时重新排序,并且可以使用按钮重新排序。我想在第 n 个 div 之后插入一些 HTML (例如:总是在第 2 个之后,无论顺序如何)。我试过了:
$('#card-box').children(':eq(1)').after('<b>test</b>');
在 div 重新排序的行下方。但是它将它放在 PHP 中第二个的 div 之下,在它们被 jQuery 重新排序之前,并且在使用按钮排序后它移动到顶部。
div 在 jQuery 中通过其 data-id 属性重新排序。像这样:
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;
});
排序后需要重新注入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>');