У меня есть следующая структура HTML:
<div id='tiles'>
<div class='slot'>
<span class='slotNum'>1</span>
<div class='tile'></div>
</div>
<div class='slot'>
<span class='slotNum'>2</span>
<div class='tile'></div>
</div>
<div class='slot'>
<span class='slotNum'>3</span>
<div class='tile'></div>
</div>
</div>
Я хочу, чтобы иметь возможность изменять порядок между слотами. Если я начну перетаскивать плитку под # 1 на плитку # 2, я хочу, чтобы плитка №2 переместилась под # 1. Если вы попробуете JSFiddle, плитка №2 в настоящее время просто складывается под переупорядоченным плиткой.
вы неправильно настроили элементы - я думаю, что в вашем примере он должен быть установлен на.slot, а не на.tile.
$( "#tiles" ).sortable({
items: ".slot",
});
По умолчанию для параметра items установлено значение > *
selector, что означает любой дочерний элемент (а не subchild), поэтому нет необходимости указывать его вообще в вашем примере.