我在为这个问题找出正确的选择器语法时遇到了一些麻烦,并希望得到一些帮助。
所以,我有一个有五列的表。在每一行中,在每个单元格中,我都有一个名为MyClass的DIV元素。我已经将MyClass的对象设置为可拖动,现在我需要设置适当的放置目标。我希望行中的任何单元格都存在MyClass元素,除了第一列,但仅适用于元素所在的行(它不应该被放在它上面或下面的行的列中)。
我希望这是有道理的。任何人都有任何想法是什么正确的语法?以下是我目前的工作方式,但它不太正确,因为它允许在上面或下面的行中删除。
$(".MyClass").closest("tr").children(":not('.column-1')").droppable({ ... });
答案 0 :(得分:2)
您可以将函数传递给.droppable()
的{{3}},因此它只接受同一行中的<div>
个元素,如下所示:
$(".MyClass").closest("tr").children(":not('.column-1')").droppable({
accept: function(draggable) {
return $.contains(this.parentNode, draggable[0]);
}
});
在函数draggable
中是可拖动的jQuery对象,我们只是使用accept
option来查看.parentNode
(<tr>
)是否包含可拖动的...意思是你试图放弃的<div>
来自这一排。