Ответ 1
Да, он сбрасывает свойство отображения элемента по умолчанию, гаснув встроенный "display: none", в результате чего элемент возвращается к свойству отображения, как определено правилами 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":""});
Они удаляют свойство display
CSS из встроенного style
свойства:
<div style=""></div>
Поскольку стиль inline больше не указывает 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/ (не в статье, а в разделе комментариев)