Почему jQuery показывает/скрывает использование display:none вместо visibility:hidden?

Чтобы решить проблему XSS, взгляните на Очиститель HTML . Он достаточно настраиваемый и имеет неплохой послужной список.

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

Лучшее решение - использовать подготовленные заявления. Библиотека PDO и расширение mysqli поддерживают их.

71
задан isayno 21 July 2009 в 16:12
поделиться

4 ответа

Поскольку в display: none элемент для всех целей перестает существовать - он не занимает места. Однако в visibility: hidden это как если бы вы только что добавили к элементу opacity: 0 - он занимает такое же количество места, но просто действует невидимым.

Создатели jQuery, вероятно, думали, что первый лучше подходит для .hide () .

65
ответ дан 24 November 2019 в 13:06
поделиться

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

18
ответ дан 24 November 2019 в 13:06
поделиться

Видимость: скрытый делает элемент невидимым таким образом, что он по-прежнему использует пространство на странице. Display: none заставляет элемент не иметь места и полностью исчезать, пока он все еще существует в DOM.

10
ответ дан 24 November 2019 в 13:06
поделиться

Видимость просто делает элемент невидимым, но он все равно будет занимать место на экране.

6
ответ дан 24 November 2019 в 13:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: