Прежде всего :hidden
селектор не для вас:
Элементы с видимостью: скрытый или непрозрачность: 0 считаются видимыми, поскольку они все еще занимают место в макете.
Вы можете использовать селектор :visible
, но он работает только тогда, когда элемент невидим и display:none
.В вашем случае вам нужно проверить свойство css:
Также обратите внимание, что visibility:hidden
резервирует место для элемента, display:none
- нет;
Если вам не нужно резервировать пространстводля этого предлагаю использовать:
$('#text').click(function() {
$('#2').toggle();
});
код: http://jsfiddle.net/2v4aJ/6/