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>
在我下面的代码中,只有第一个 #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>