Jquery 元素存在性的条件检验

Jquery 元素存在性的条件检验,jquery,Jquery,我想用jQuery实现这一点 if $(".video-gallery-container") exists { $(".video-gallery-container").fadeOut(300); } 使用jQuery检查元素是否存在的正确方法是什么?jQuery提供的.length属性正是出于此目的: if($(".video-gallery-container").length > 0){ $(".video-gallery-container").fadeOut(300)

我想用jQuery实现这一点

if $(".video-gallery-container") exists {
$(".video-gallery-container").fadeOut(300);
} 

使用jQuery检查元素是否存在的正确方法是什么?

jQuery提供的
.length
属性正是出于此目的:

if($(".video-gallery-container").length > 0){
  $(".video-gallery-container").fadeOut(300);
} 
if($(".video-gallery-container").length) {
    //.....
}
但是,在您的情况下,您实际上不需要担心它:只需在不进行测试的情况下执行
淡出
,因为
淡出
将只应用于与选择器匹配的元素;如果没有匹配的元素,则不会应用淡出,但不会出现任何错误

if($(".video-gallery-container").length > 0){  
  $(".video-gallery-container").fadeOut(300); 
}

你也不需要检查是否存在。如果元素存在,jQuery只会添加淡出,否则它不会做任何事情。不会产生任何错误。

您不需要这样做。如果选择项为空,则对其调用的任何jQuery函数都将无法执行任何操作:

$(".video-gallery-container").fadeOut(300);

这就是您所需要做的。

可能的重复项您不必检查元素是否存在,如果元素不存在,jQuery不会抛出错误。谢谢,@Spudley–因此,无需执行
.length>0
?仅仅
.length
就足够了?@KeithRules-just
.lenth
就足够了,因为javascript测试真实值的方式。但正如我所说,你甚至不需要这样做;在您给出的示例中,完全不需要整个
if()
测试。如果我将它作为函数:
$(“.video gallery container”).fadeOut(300,function()){//some code
-如果有bo video gallery容器,我假设它会阻止内部代码被执行,不是吗?是的。它本质上是一个
for
循环。想想(var I=0;I)的
次数