Jquery可见性切换不工作

Jquery可见性切换不工作,jquery,visibility,Jquery,Visibility,只是一个简单的问题,有人能告诉我哪里出了问题吗?我试图切换类的可见性,但无法恢复其可见性。藏起来很好: if($(".ball").is(':visible') == true) { $(".ball").css({ 'visibility': 'hidden'}); } else { $(".ball").css({ 'visibility': 'visible'}); } 我不能使用toggle,因为我需要保留类但不被看到,toggle会弄乱格式 谢谢你的帮助 if(

只是一个简单的问题,有人能告诉我哪里出了问题吗?我试图切换类的可见性,但无法恢复其可见性。藏起来很好:

if($(".ball").is(':visible') == true) { 
   $(".ball").css({ 'visibility': 'hidden'}); 
} else { 
    $(".ball").css({ 'visibility': 'visible'}); 
}
我不能使用toggle,因为我需要保留类但不被看到,toggle会弄乱格式

谢谢你的帮助

if($(".ball").is(':visible') == true) { 
  $(".ball").hide();
 };

可能不是您想要的,但它将使用“ball”类隐藏元素

您可以使用
ball
类选择所有元素,然后确定其隐藏位置:

$(".ball").each(function() {
    var ball = $(this);
    if (ball.css("visibility") === "hidden")
        ball.css("visibility", "visible");
    else
        ball.css("visibility", "hidden");
});
选择器“:visible”不适用于可见性,仅适用于显示

以下是jQuery文档的一个片段:

可见性为“隐藏”或不透明度为“0”的元素被视为可见,因为它们仍然占用布局中的空间。在隐藏某个元素的动画中,该元素在动画结束前被视为可见。在显示元素的动画过程中,该元素在动画开始时被视为可见。 试试这个:

if($(".ball").css("visibility") == "visible") { 
    $(".ball").css({ 'visibility': 'hidden'}); 
} else { 
    $(".ball").css({ 'visibility': 'visible'}); 
}

下面是一个示例

$(“.ball”).toggle()
也会切换,但会使用
display:none

进行操作。是的,这与切换相同,因为它可以有效地使其大小为0,而不是隐藏我所需要的可见性。不过谢谢你。+1很好的解释@毛:另外,你应该重用你选择的
$(“.ball”)
,而不是三次选择它。类似于:
var-ball=$(“.ball”);如果(ball.css(“visibility”)==“visibility”){…
不用担心。这不是要先到那里,而是要确保有正确的答案。很高兴听到你成功了!