jQuery 在回调中获取源元素
$('.myElem').live('click', function() {
$(this).hide(500, function() {
$(this).siblings('.myOtherElem').show();
});
});
上面的代码不起作用,因为 $(this)
在回调中不再处于正确的范围内。如何将原始源元素传递到回调中?
$('.myElem').live('click', function() {
$(this).hide(500, function() {
$(this).siblings('.myOtherElem').show();
});
});
The above doesn't work because $(this)
is no longer in correct scope in the callback. How do I pass my original source element into the callback?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
实际上你的代码应该可以工作。
要在内部 javascript 方法中访问
this
,您可以将引用存储在外部方法作用域中:但是,在大多数 jQuery 方法中,
this
指的是所使用的选择器或元素:Actually your code should work.
To access
this
within an inner javascript method you might store the reference in the outer method scope:However in most jQuery methods
this
is referring to the selector or element used: