Да, он сбрасывает свойство display элемента к значению по умолчанию, удаляя встроенный "display: none", в результате чего элемент возвращается к свойству display, как определено правилами CSS ранжирования страницы.
Например, вот <div>
с идентификатором «myElement».
<div id="myElement"></div>
A <div>
имеет значение по умолчанию display:block
. В нашей таблице стилей предположим, что мы указываем, что ваш <div>
должен отображаться как table
:
div#myElement
{
display:table;
}
После загрузки вашей страницы, <div>
отображается как table
. Если вы хотите скрыть это <div>
с помощью сценариев, вы можете сделать следующее:
// JavaScript:
document.getElementById("myElement").style.display = 'none';
// jQuery:
$("#myElement").toggle(); // if currently visible
$("#myElement").hide();
$("#myElement").css({"display":"none"});
Все это имеет одинаковый эффект: добавление встроенного свойства style
к вашему <div>
:
<div id="myElement" style="display:none"></div>
Если вы хотите снова показать элемент, сработает любой из них:
// JavaScript:
document.getElementById("myElement").style.display = "";
// jQuery:
$("#myElement").toggle(); // if currently hidden
$("#myElement").show();
$("#myElement").css({"display":""});
Они удаляют CSS-свойство display
из встроенного style
свойства:
<div style=""></div>
Поскольку встроенный стиль больше не определяет display
, <div>
возвращается к отображению как table
, поскольку это то, что мы поместили в таблицу стилей. <div>
не не возвращается к отображению как block
, потому что наш CSS переопределяет эту настройку по умолчанию; отключение встроенного свойства display
не отменяет правил в наших таблицах стилей.
Для хихиканья, вот запрос Google, который я использовал для проверки моего ответа: javascript style display empty string default
... и несколько ссылок, где это упоминается:
http://jszen.blogspot.com/2004/07/table-rowsrevealed.html
http://www.harrymaugans.com/2007/03/05/how-to-create-a-collapsible-div-with-javascript-and-css/
(не в статье, а в разделе комментариев)