Jquery Ui 可排序项目选项 select 仅第一项

Jquery Ui sortable items option select just first item

在我下面的代码中,只有第一个 #sort-item 是可排序的,其他的则不是。我该如何解决?

$('#sortable').sortable({
   items:"#sort-item"
});

Html;

<ul id="sortable">
    <li id="sort-item"></li>
    <li id="sort-item"></li>
    <li id="sort-item"></li>
    <li id="sort-item"></li>
    <li id="sort-item"></li>
</ul>

编辑: 我试试;

$('#sortable').sortable({
   items:"> #sort-item"
});

但是窃取不行

jsFiddle; https://jsfiddle.net/seamqykd/1/

您不能为多个项目分配相同的 ID (https://www.w3schools.com/html/html_id.asp)

使用 class 到 select 项目:

<ul id="sortable">
    <li class="sort-item"></li>
    <li class="sort-item"></li>
    <li class="sort-item"></li>
    <li class="sort-item"></li>
    <li class="sort-item"></li>
</ul>

$('#sortable').sortable({
  items:".sort-item"
});

甚至更好,使用元素

$('#sortable').sortable({
  items:"li"
});

第一次在多个元素中使用 id 是一个 html 语义错误,Id 用于一个且只有一个 html 元素,

这就是导致问题的原因,只需在 html 中将您的 id 替换为 class 名称,并在您的 js 代码中将 #sort-item 替换为 .sort-item 请参阅下面的工作片段:

$('#sortable').sortable({
  items:".sort-item"
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.theme.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" rel="stylesheet"/>

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>

<ul id="sortable">
    <li class="sort-item">aaa</li>
    <li class="sort-item">bbb</li>
    <li class="sort-item">ccc</li>
    <li class="sort-item">ddd</li>
    <li class="sort-item">eee</li>
</ul>