У меня есть серия div, которые загружаются с помощью PHP. Они переупорядочиваются при загрузке в jQuery и могут быть переупорядочены с помощью кнопок. Я хочу вставить некоторый HTML после n-го div (например: всегда после второго, независимо от порядка). Я пробовал:Вставить HTML после nth div, после того как divs переупорядочены
$('#card-box').children(':eq(1)').after('<b>test</b>');
Прямо под линиями, где divs переупорядочиваются. Но он помещает его под div, который является вторым в PHP, прежде чем они будут перенаправлены jQuery, и после сортировки с помощью кнопки он перемещается в начало.
Разделители переходят в 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;
});
Что вы имеете в виду заказана? визуально используя позицию css или реальный порядок на дереве dom? –
@FaresM. переупорядочивается на dom в jquery как: 'var div = $ ('# card-box'); var listitems = div.children ('div.card'). Get(); listitems.sort (функция (a, b) { return (+ $ (a) .attr ('data-id')> + $ (b) .attr ('data-id'))? -1: (+ $ (a) .attr ('data-id') <+ $ (b) .attr ('data-id'))? 1: 0; }); ' – iisurge
Я знаю в jQuery. Можете ли вы опубликовать некоторый релевантный код вашей функции сортировки? –