Как jQuery реализует hide () и show ()

Они ставят display: none или visibility: hidden?

Я почти уверен, что display: none выводит элемент из обычного потока, в то время как visibility: hidden просто скрывает элемент, но по-прежнему имеет для него зарезервированное пространство.

Стоит ли мне просто скачать распакованную версию и изучить ее или у кого-нибудь есть быстрый ответ?

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
50
0
16 681
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Он использует display.

Обновлено: И из комментария Джона Шихана к этому ответу, с которым я согласен:

You should go view the unpacked source anyway just to familiarize yourself with it

Изменить 2: в комментариях упоминается использование Firebug, чтобы узнать, что происходит. На самом деле, я действительно зашел в документацию jQuery и использовал Safari Web Inspector, чтобы посмотреть, что произошло в демонстрации hide(), чтобы быть уверенным в своем ответе.

Это правильно. Вы все равно должны просмотреть распакованный исходный код, просто чтобы ознакомиться с ним.

John Sheehan 27.10.2008 09:45

Кроме того, полезно использовать FireBug с FireFox и наблюдать за изменениями элементов в режиме реального времени при использовании jQuery (по крайней мере, я так считаю)

chadmyers 27.10.2008 09:54

Голосование - я всегда разрабатываю с распакованным кодом на случай (ну, вообще-то КОГДА) мне нужно отладить. Я отправлю упакованный код.

paxdiablo 27.10.2008 10:09

Спасибо, распакованную версию ни разу не смотрел. Хотя, возможно, скоро. Я использовал Firebug для просмотра обновленной модели DOM, и вы действительно правы. Большое спасибо вам!

alex 28.10.2008 03:50

Также стоит отметить, что JQuery запоминает то, что было раньше в кеше. Таким образом, display: flex; превратится в display: none; и вернется к display: flex;. Однако, если он был скрыт с самого начала, JQuery не будет знать, что его вернуть, и будет использовать block. К сожалению, нет возможности дать JQuery подсказку ни в HTML, ни в CSS, ни в Javascript, чтобы заставить его действовать правильно :-(

Ralph Bolton 06.11.2020 19:00

Он использует отображение, и для этого типа вещей вы можете использовать Firebug, чтобы проверить, что происходит с DOM.

Другие вопросы по теме