仅允许对包含已知子项的项目进行jQuery UI排序

时间:2014-01-14 15:44:30

标签: jquery html jquery-ui jquery-ui-sortable

example工作正常,但问题是当我想为只有包含已知类的子项(例如action-move)的项启用排序时。

我有这个HTML代码:

<nav class="navbar navbar-default" role="navigation">
    <ul class="nav navbar-nav">
        <li class="page-item item">
            <a class="text" href="#">Test 1</a>
            <div class="actions">
                <div class="action-move"></div>
            </div>
        </li>
        <li class="page-item item">
            <a class="text" href="#">Test 2</a>
            <div class="actions">
            </div>
        </li>
        <li class="page-item item">
            <a class="text" href="#">Test 3</a>
            <div class="actions"><div class="action-move"></div>
            </div>
        </li>
    </ul>
</nav>

我目前的代码是:

$(".nav").sortable({
    items: "li .action-move"
});

但我想这会选择.action-move元素。

我只想为第一个和最后一个项目(包含.action-move元素的项目)启用sortable。

我该怎么做?

JSFIDDLE

2 个答案:

答案 0 :(得分:1)

您可以使用.has过滤带有某些后代元素的元素

li:has(.action-move)

答案 1 :(得分:0)

你有没有尝试使用最后一个孩子?

:first-child
:last-child
相关问题