JQuery可见选择器和prev()

时间:2011-04-20 15:45:54

标签: jquery selector visible

我正在尝试确定具有特定类的哪个元素是可见的。然后找到它的前一个元素并滑动到它。我试过了,但这不正确。

if($('#sidepanel1').is(':visible')) {
         }
        else { 

        var prevpanel = $('.sidewrapper').is(':visible').prev().attr('id'); alert(prevpanel);

        $('.sidewrapper').hide("slide", { direction: "right" }, 300); $(prevpanel).show("slide", { direction: "left" }, 300);
        }

}

它与我的使用有关:可见我觉得是错的。有什么想法吗?

非凡

3 个答案:

答案 0 :(得分:2)

更改

var prevpanel = $('.sidewrapper').is(':visible').prev().attr('id');

var prevpanel = $('.sidewrapper:visible').prev().attr('id');

.is()返回bool

  

与其他过滤方法不同,.is()不会创建新的jQuery对象。相反,它允许您无需修改​​即可测试jQuery对象的内容。

答案 1 :(得分:0)

if($("#sidepanel1").css("visibility") == "visible")
{
 // do stuff
}

答案 2 :(得分:0)

根据the docsis()在这种情况下只会返回一个布尔值。它不会返回jQuery对象的另一个实例,因此您的链断开了。