在Mootools中,我只需要运行if ($('target')){…}。if ($('#target')){…}在jQuery的工作方式相同?


当前回答

另外:

if( jQuery('#elem').get(0) ) {}

其他回答

我更喜欢

    if (jQuery("#anyElement").is("*")){...}

它基本上检查这个元素是否是一种“*”(任何元素)。 更简洁的语法,is在if中更有意义

if ($('#elem')[0]) {
  // do stuff
}

正如其他评论者所建议的,最有效的方法似乎是:

if ($(selector).length ) {
    // Do something
}

如果你绝对必须有一个exists()函数-这会比较慢-你可以这样做:

jQuery.fn.exists = function(){return this.length>0;}

然后在代码中使用

if ($(selector).exists()) {
    // Do something
}

如这里所回答的

不,无论选择器是否匹配,jquery总是返回一个jquery对象。 你需要使用。length

if ( $('#someDiv').length ){

}

首先创建一个函数:

$.fn.is_exists = function(){ return document.getElementById(selector) }

then

if($(selector).is_exists()){ ... }