Техника, показанная в ответе @ RwL, будет работать, но вам не нужно явно удалять элемент из DOM.
Использование .append()
переместит элемент на новое место.
Этот HTML:
<div id="widgets">
<div id="widgetA">A</div>
<div id="widgetB">B</div>
<div id="widgetC">C</div>
<div id="widgetD">D</div>
<div id="widgetE">E</div>
</div>
С этим сценарием:
$(function() {
var widgetOrder = ['#widgetC','#widgetE','#widgetA','#widgetD','#widgetB'];
for (var widgetIndex = 0; widgetOrder.length; widgetIndex++) {
var singleWidget = widgetOrder[widgetIndex];
$('#widgets').append($(singleWidget));
}
});
приведет к этому HTML:
<div id="widgets">
<div id="widgetC">C</div>
<div id="widgetE">E</div>
<div id="widgetA">A</div>
<div id="widgetD">D</div>
<div id="widgetB">B</div>
</div>
Вы сможете адаптировать этот код с помощью плагина jQuery cookie, например , или , , чтобы удовлетворить ваши требования.