Скрытие скрытого элемента с помощью HTML / JavaScript / CSS

#javascript #jquery #html #css

#javascript #jquery #HTML #css

Вопрос:

Мне нужно полностью скрыть скрытый элемент. Если вы использовали надстройку для веб-разработчика Firefox, вы увидели, что одним щелчком мыши можно увидеть все скрытые элементы и их значение

Итак, я попытался применить

 visibility: none;
display: none;
  

Это сработало не так, как ожидалось. Итак, я подумал о создании слоя с точно таким же размером скрытого элемента, придании ему z-index:999 одинакового положения, поэтому, даже если надстройка веб-разработчика попытается показать их, они просто увидят div.

Комментарии:

1. полностью скройте скрытый элемент!!!!

2. Чего вы вообще пытаетесь достичь? Вы не можете запретить людям просматривать ваш HTML-код, так в чем же здесь настоящая проблема? Я предполагаю, что большинство людей не используют плагин для отображения скрытых элементов на веб-сайтах.

3. Хм, почему ты хочешь это сделать? Похоже, вы просто хотите полностью удалить элемент.

4. Вы уверены, что visibility: none и display: none действительно применяются, а не переопределяются?

Ответ №1:

Если вы хотите полностью удалить HTML-содержимое внутри данного контейнера, вы можете сделать это с помощью jQuery:

 $('#contentContainer').html('');
  

Для еще более быстрого способа сделать то же самое используйте empty():

 $('#contentContainer').empty();
  

Или, чтобы удалить сам контейнер и все его содержимое, используйте remove():

 $('#contentContainer').remove();
  

Комментарии:

1. $('#contentContainer').empty() сделало бы работу лучше

2. Но если какой-нибудь подлый человек, намеревающийся украсть драгоценные скрытые значения @Sourav, отключит JavaScript, тогда код не будет запущен, и скрытые элементы все еще будут там, в DOM. Кроме того, конечно, если элементы удалены , то они также не будут отправлены обратно на сервер при отправке формы. В этом свете можно задаться вопросом, почему скрытые элементы были помещены на страницу в первую очередь.

3. Что ж, в таком случае, делайте все на стороне сервера. Например, в ASP.NET используйте ViewState. Конечно, если подлый человек достаточно умен, это все равно не помешает ему украсть информацию. Но это для совершенно другого обсуждения.

Ответ №2:

Такие плагины, как WebDeveloper и FireBug, позволяют разработчикам переходить к DOM веб-страницы. Нет способа иметь элемент в DOM и не видеть его ни в одном из этих инструментов.

Ответ №3:

Вы могли бы попробовать сгенерировать скрытый элемент с помощью jQuery. Например, вставить скрытый абзац внутри тела:

 $('<p>test</p>').css({'display':'block'}).appendTo('body');  $('button.test').live('click',function(){
            $('<p>some hidden field</p>').css({'display':'block'}).appendTo('body');
        });
  

Комментарии:

1. Или вы могли бы сделать это с помощью PHP и jQuery (AJAX).

Ответ №4:

Для этой цели используетсяподключаемый модуль WebDeveloper .. это полезно для разработчика

об этом не о чем беспокоиться..

Ответ №5:

Должно быть достаточно использовать свойство display: none; возможно, это ошибка / особенность плагина WebDeveloper. Таким образом, возможно, существует скрытый параметр предпочтения, такой как «[X] Показывать невидимые элементы».

Или вы могли бы принудительно удалить объект из DOM, как другой ответ, предложенный несколько секунд назад.

Ответ №6:

сохраните внутренний HTML элемента в переменной JS и установите для html значение none

Ответ №7:

Если вы используете jquery :

 $('#DivName').hide()
  

или очистить div:

 $('#DivName').html('');
  

Чтобы удалить его:

 $('#DivName').remove()