Как я могу увидеть невидимый элемент управления с помощью jquery (скрыть и показать не работает) - PullRequest
15 голосов
/ 11 июня 2010

Как я могу изменить видимость элемента управления с помощью jQuery? У меня есть контроль, что его видимое свойство ложно ... (не CSS)

Когда я использовал функцию show(), ничего не произошло, кажется, что методы hide() и show() предназначены для набора элементов управления css, а не свойства visible ...

Спасибо за ваши ответы,

С наилучшими пожеланиями

Ответы [ 3 ]

34 голосов
/ 11 июня 2010

Вы не можете сделать это с помощью jQuery, visible="false" в asp.net означает, что элемент управления не отображается на странице .Если вы хотите, чтобы элемент управления перешел к клиенту, вам нужно сделать style="display: none;", чтобы он фактически находился в HTML, иначе клиенту буквально нечего показывать, поскольку элемент не был в HTML, отправленном вашим сервером.

Если вы удалите атрибут visible и добавите атрибут style, вы можете использовать jQuery для его отображения, например:

$("#elementID").show();

Старый ответ (до1013 * Патрика улов)

Чтобы изменить visibility, вам нужно использовать .css(), например:

$("#elem").css('visibility', 'visible');

Если вам не нужноесли элемент занимает пространство страницы, используйте display: none; вместо visibility: hidden; в вашем CSS, а затем просто:

$("#elem").show();

.show() и .hide()* Функции 1034 * работают с display вместо visibility, как и большинство функций jQuery:)

7 голосов
/ 11 июня 2010

.show () и .hide () изменяют правило отображения css. Я думаю, что вы хотите:

$(selector).css('visibility', 'hidden'); // Hide element
$(selector).css('visibility', 'visible'); // Show element
1 голос
/ 09 июня 2012

Вот код, который я использую для решения этой проблемы.

Сначала мы покажем элемент, который обычно устанавливает тип отображения «block» с помощью функции .show (), а затем устанавливаем правило CSS «visible»:

jQuery( '.element' ).show().css( 'visibility', 'visible' );

Или, если предположить, что класс, который скрывает элемент, называется скрытым, например, в Twitter Bootstrap, то toggleClass () может быть полезен:

jQuery( '.element' ).toggleClass( 'hidden' );

Наконец, если вы хотите объединить функции, возможно, с эффектом затухания, вы можете сделать это так:

jQuery( '.element' ).css( 'visibility', 'visible' ).fadeIn( 5000 );
...