【发布时间】:2011-03-10 12:50:22
【问题描述】:
假设您设置了var $this = jQuery(this);,您如何在 dom 中搜索该元素。 $this.size() 不起作用,因为它没有在 dom 中搜索该元素。我基本上需要检测 $this 是否已从 dom 中删除并停止一个间隔。
请求更新代码:
jQuery(document).find('div.ctalk').each(function(){
var delay;
var $this = this;
activateLive = function($this) {
clearInterval(delay);
delay = setInterval(function(){
if(jQuery($this).size() != '0') {
fn.actJSON('0', $this, 'update=1&');
}else {
alert('kill it');
clearInterval(delay);
}
}, 10000 );
}
if(!jQuery(this).data('init')) {
jQuery(this).data('init', '1');
fn.activateBinds($this);
activateLive($this);
}
});
【问题讨论】:
-
请提供一些代码。 jsfidddle.net
-
if(jQuery($this).size() != '0') {} 不起作用,因为它没有在 dom 中搜索元素。
-
仅供参考,没有充分的理由使用
jQuery代替$。如果您出于某种原因使用$.noConflict,您仍然可以将代码包装到使$可用的函数中:(function($){ /* your code using $ */ })(jQuery); -
@ThiefMaster:也许他只是更喜欢清晰。或者他在相同的代码(不只是同一个页面)中同时使用了jQuery和Prototype/MooTools/X。
-
在后一种情况下,他可以使用例如
$j用于 jQuery ;)