0

我在为这个问题找出正确的选择器语法时遇到了一些麻烦,希望能得到一些帮助。

所以,我有一个有五列的表。在每一行,每个单元格中,我都有一个名为 MyClass 的类的 DIV 元素。我已经将 MyClass 的对象设置为可拖动的,现在我需要设置适当的放置目标。我想要存在 MyClass 元素的行中的任何单元格,但第一列除外,但仅适用于该元素存在的行(它不应该被放置在其上方或下方的行列中)。

我希望这是有道理的。任何人都知道正确的语法是什么?下面是我目前正在工作的内容,但它并不完全正确,因为它允许在上方或下方放置行。

$(".MyClass").closest("tr").children(":not('.column-1')").droppable({ ... });
4

1 回答 1

2

您可以将函数传递给accept选项.droppable()以便它只接受<div>同一行中的那些元素,如下所示:

$(".MyClass").closest("tr").children(":not('.column-1')").droppable({
    accept: function(draggable) {
        return $.contains(this.parentNode, draggable[0]);
    }
});

在函数draggable中是可拖动的 jQuery 对象,我们只是$.contains()用来查看.parentNode(the <tr>) 是否包含可拖动的...意味着<div>您要删除的对象来自该行。

你可以在这里测试一下

于 2010-11-28T10:03:22.127 回答