jQuery拖动$(this)到另一个元素

| 我正在尝试将$(this)-设置为-,同时将-元素拖动到一个新元素,但是我似乎无法使其正常运行而又没有在Firebug中出现错误:
invalid assignment left-hand side
$(this) = $(\"#external-events.temp-class-for-detection:last\");

//Gives the same result. 
$(this) = $(\"#external-events.temp-class-for-detection:last\")[0];
以上示例在我的情况下确实可以正常工作,但是我仍然收到错误,因此我认为这不是正确的方法。我还尝试了其他方法(根本无法使用):
//Does not work at all.
$(this)[0] = $(\"#external-events.temp-class-for-detection:last\")[0];
//Does not work at all.
$(this)[0] = $(\"#external-events.temp-class-for-detection:last\");
//Does not work at all.
$(this).html(\"#external-events.temp-class-for-detection:last\");
这是我在做什么的大图:
$(this).html(\"<div class=\'external-event\'>\");
$(this).data(\'eventObject\', { title: event.title, id :event.id });
$(this).text(event.title);
$(this).addClass(\"temp-class-for-detection\");
$(this).addClass(\"external-event\");
$(this).appendTo( \"#external-events\" );
$(this) = $(\"#external-events.temp-class-for-detection:last\");
这看起来像是一种糟糕的方法,但是我需要将$(this)元素移出其父div,将其添加到任何div中,然后再将$(this)设置回其自身。只是现在,它被引用给另一个父div。 编辑:我想指定在元素本身被拖动时这一切都要做。另外,我在Firefox中得到了想要的结果,但是Firebug中出现了错误。在IE中,该元素根本不会停留。     
已邀请:
我认为您有点混淆$(this)是什么。当前范围是指此。例如,$(this)是当前作用域的jquery选择器。 而不是:
$(this) = $(\"#external-events.temp-class-for-detection:last\");
只是这样做:
var _this = $(\"#external-events.temp-class-for-detection:last\");
现在,只要您想引用#external-events选择器简单_this.css     
嗯,我不确定为什么要这样做(没有双关语),但是如果必须的话,为什么不使用替代变量呢?您可以使用美元符号,如果这样会使您感到高兴:
$this = $(\"#external-events.temp-class-for-detection:last\");
实际上,如果我正确地理解了您的意思,您能不能仅使用a6ѭ语句?有点古怪,但是让您使用
$(this)
$(this).html(\"<div class=\'external-event\'>\");
$(this).data(\'eventObject\', { title: event.title, id :event.id });
$(this).text(event.title);
$(this).addClass(\"temp-class-for-detection\");
$(this).addClass(\"external-event\");
$(this).appendTo( \"#external-events\" );

$(\"#external-events.temp-class-for-detection:last\").each(function() {
  $(this).css(\'foo\', \'bar\'); // Now $(this) points to the thing above
});
    
我认为您真正想要做的是
this
var that = $(this).clone();
..把你所有的东西都塞给ѭ11
that.appendTo( \"#external-events\" );
$(this).replaceWith($(\"#external-events.temp-class-for-detection:last\"));
您需要对其进行克隆,因为否则所有工作都将被替换(并在附加了新位置的位置)。听起来您想做很多事情,然后用该选择替换其原始版本。
This
应该做
that
。     
您无需执行任何操作。
$(this).appendTo( \"#external-events\" );
将更改父级。
$(this)
将继续指向已移动的元素。     

要回复问题请先登录注册