JQuery видимый селектор и prev () - PullRequest
0 голосов
/ 20 апреля 2011

Я пытаюсь определить, какой элемент с определенным классом виден.Затем найдите его предыдущий элемент и переместитесь к нему.Я пробовал это, но это не правильно.

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 ]

2 голосов
/ 20 апреля 2011

изменение

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

до

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

.is() возвращает bool

В отличие от других методов фильтрации, .is () не создает новый объект jQuery. Вместо этого он позволяет вам протестировать содержимое объекта jQuery без изменений.

0 голосов
/ 20 апреля 2011

Согласно документы , is() будут возвращать только логическое значение в этом случае.Он не возвращает другой экземпляр объекта jQuery, поэтому ваша цепочка разорвана.

0 голосов
/ 20 апреля 2011
if($("#sidepanel1").css("visibility") == "visible")
{
 // do stuff
}
...