我在一个名为set $的jquery集合中有一些div,它们都被一起移动了,我希望现在能够取消移动。在我完成移动之前,我克隆了以下设置:
set_before_move$ = set$.clone()
移动后,set$
成员全部移动,set_before_move$
成员应具有原始偏移量。我想撤消此举是为了通过set$
和每个成员
set_before_move$
set_before_move$
成员set$
成员我的代码如下:
var off;
set$.each(function () {
moved_id = $(this).attr('id'); // get the id of this element
unmoved_el$ = set_before_move$.([id=moved_id]); // find element in set_before_move$
off = unmoved_el$.offset(); // get its offset
$(this).offset(off); // put the offset into the set$ member
});
但它不喜欢方括号。有人看到了正确的方法吗?
由于
答案 0 :(得分:1)
您可以使用filter()
方法将jQuery对象set_before_move$
缩减为moved_id
的单个元素集。
例如:
var moved_id = 'some-id';
unmoved_el$ = set_before_move$.filter(function() {
return $(this).attr('id') == moved_id;
});
答案 1 :(得分:1)
您需要设置true:
set_before_move$ = set$.clone(true)