JQuery: видимый фильтр - PullRequest
       7

JQuery: видимый фильтр

2 голосов
/ 14 февраля 2012

Я пытаюсь реализовать свои собственные вкладки, но в некоторых случаях селектор: visible не работает так, как мне кажется:

http://jsfiddle.net/TtCLQ/1/

Корочекогда div содержит только входной тип «изображение» или «файл», кажется, что: visible всегда возвращает false независимо от того, являются ли они фактически видимыми.(Проверено на последних версиях Chrome и IE9.)

Это ошибка или я ожидаю неправильного поведения?Что мне делать вместо этого, чтобы определить, отображается ли div (и его дочерние элементы)?

(В скрипте вы можете видеть, что фильтр: visible не работает, глядя на tab3'sстиль в firebug при переключении вкладок.)

Ответы [ 2 ]

3 голосов
/ 14 февраля 2012

# панель div выбирает все div в #pane и устанавливает их на отображение: none Так что div внутри div внутри панели также невидим.Когда вы устанавливаете # tab3, чтобы показать, вы не показываете div внутри, следовательно, проблема.то есть # tab3 становится видимым, но # tab3> div не становится видимым.Я обновил скрипку с помощью

#pane>div
{ 
display:none;
}

. При этом выбирается только непосредственный дочерний элемент div, а не элементы div внутри этих элементов div.Другой способ - добавить класс на вкладки (.tab) и установить их общий вид

1 голос
/ 14 февраля 2012

children() возвращает только прямых потомков, поэтому div под вкладкой div остается скрытым.

Я сделал ваш код немного меньше, удалив ненужные циклы и т. Д .:

http://jsfiddle.net/TtCLQ/6/

...