jquery 中animate的问题

1 div
2 div

例如两个div

 jQuery(function ($) {
        $("div").hide();
        $("div:first").show(1000);
        $("div").toggle(2000);
         alert($("div:visible").length);

    })

为什么alert之后会显示2 而不是显示1 我想要知道其中的原理

show,toggle都是会设置显示然后再设置高度实现动画效果,所以2个都是可见的

在jQuery中,visibility: hidden;和opacity: 0;都被视作可见的,因为它们在页面上占据了相应的物理空间。