Jquery 元素存在性的条件检验
我想用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)
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)的次数