Как вы можете скрыть div, когда CSS отключен? - PullRequest
2 голосов
/ 22 июля 2011

Вот сценарий: у меня есть div, который я предварительно загружаю на страницу и автоматически устанавливаю его свойство display скрытым. Я использую JavaScript, чтобы всплывающее окно сказал div. Проблема в том, что когда клиенты отключили CSS, они, очевидно, могут видеть DIV. Каков наилучший способ отображения div (или содержимого div) только при вызове моей функции javascript?

Лучший способ, о котором я мог бы подумать, - это передать необработанный HTML-код в переменную javascript, а затем загрузить весь HTML-код с использованием javascript, однако это немного медленный (приличный объем HTML-кода), который приводит к сбою сценария, когда он пытается ссылаться на DIV, которые еще не существуют.

Есть ли другие более элегантные решения?

Спасибо

Ответы [ 5 ]

4 голосов
/ 22 июля 2011

Вы можете обернуть html-теги комментариев вокруг него:

<!-- <div>your stuff, which should be invisible</div> -->

Или полностью удалить его из DOM

http://plugins.jquery.com/plugin-tags/html-comments
Может быть, здесь некоторые связанные вещи

3 голосов
/ 22 июля 2011

Если CSS отключен, то единственный способ скрыть div - это удалить его из DOM.

0 голосов
/ 12 сентября 2011

Вы хотите иметь div на своей странице, когда страница загружается, чтобы пользователи без javascript могли видеть его, возможно, чтобы указать им, что некоторые функции сайта требуют JS для работы.

Если вам нужноиспользовать этот div исключительно с JS, тогда иметь его уже на странице - плохой подход.Вы должны создать его на лету, по крайней мере, с контентом.

Таким образом, вы убедитесь, что пользователи без CSS не увидят его, и при этом смогут показать его остальным людям с включенным JS.

0 голосов
/ 22 июля 2011

Установите высоту div, который вы хотите скрыть, равным нулю, используя javascript.

$ ('# mydiv'). Css ("height", "0px");

0 голосов
/ 22 июля 2011

Вы можете установить встроенный стиль в div (не рекомендуется, но ваш случай в любом случае является исключением).

Вы можете использовать JS / jQuery при загрузке страницы, чтобы скрыть div, но это вызовет эффект мерцания (div будет отображаться на мгновение, пока JS не запустит его, чтобы скрыть).

...