Я пытаюсь скрыть элемент div при нажатии кнопки.
У меня есть следующий HTML-код (возможно, я сообщаю о слишком большом количестве кода, но я не уверен, что это может быть полезным, рассмотрите три комментария, которые я добавил к коду).
<!-- HOME DIV -->
<div class="home" style="height: 100vh;">
<div class="home_slider_container" style="height: 100vh">
<div class="owl-carousel owl-theme home_slider">
<div class="owl-item home_slider_item">
<div class="home_slider_background" style="background-image:url( {% static 'images/home_slider_1.jpg' %})"></div>
<div class="home_slider_content_container">
<div class="container">
<div class="row">
<div class="col">
<div style="text-align: center; bottom: 60px;">
<div class="home_slider_title">CASTELLO</div>
<div class="home_slider_subtitle">Acquista nella tua città.</div>
<div class="newsletter_form_container" style="margin-top: 130px;">
<form action="#" id="newsletter_form" class="newsletter_form">
<!-- BELOW IS THE DIV TO BE HIDDEN -->
<div id="myDIV" style="display: block;">CIAO</div>
<!-- BELOW IS THE BUTTON TO HIDE THE DIV -->
<div class="button button_light home_button" style="display: inline-block;" onclick="show()"><a>Trova</a></div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
У меня есть следующая функция JavaScript:
function show() {
var x = document.getElementById("myDIV");
console.log(x.style.display)
x.style.display = "none";
console.log(x.style.display)
}
Когда я нажимаю кнопку, я вижу на консоли, что свойство display меняется с «block» на «none», как и должно быть, но на веб-странице ничего не происходит, div «myDiv» не исчезает. Только если я поместил div myDiv вне div home, он будет работать правильно!
Почему DOM обновляется с правильным свойством «display», только когда я помещаю div «myDiv» в какое-то место на странице?
Большое спасибо.