JavaScript - не меняются стили css

202
20 августа 2018, 14:50

CSS:

.noentering, .entering {
    display: none;
}

HTML:

<h1 class="noentering">Вы не зашли на сайт.</h1>
<div class="entering">
    <p>Здравствуйте, <span class="nameofyou"></span>!</p>
</div>

JS:

var name;
if (confirm("Зайти на сайт?")) {
  name = prompt("Введите свое имя для продолжения");
  alert("Здравствуйте, " + name + "!");
  document.getElementsByClassName('entering').style.display = 'block';
  document.getElementsByClassName('nameofyou').innerHTML(name);
} else {
  document.getElementsByClassName('noentering').style.display = 'block';
}

При нажатии в окне confirm на "отмену" или "ОК" display: block элементам не применяется.

Answer 1

let name; 
if (confirm("Зайти на сайт?")) { 
  name = prompt("Введите свое имя для продолжения"); 
  alert("Здравствуйте, " + name + "!"); 
  document.querySelector('.entering').style.display = 'block'; 
  document.querySelector('.nameofyou').innerHTML = name; 
} else { 
  document.querySelector('.noentering').style.display = 'block'; 
}
.noentering, .entering { 
    display: none; 
}
<h1 class="noentering">Вы не зашли на сайт.</h1> 
<div class="entering"> 
    <p>Здравствуйте, <span class="nameofyou"></span>!</p> 
</div>

document.getElementsByClassName возвращает коллекцию элементов, а не отдельный элемент. Для этого нужно использовать document.querySelector(selector) + innerHTML - это св-во, а не функция

READ ALSO
Импорт внешних скриптов из бандла JavaScript

Импорт внешних скриптов из бандла JavaScript

Возможно ли импортирование внешних скриптов из уже скомпилированного бандла через webpack

198
export объекта из файла с чистым js в App.js react

export объекта из файла с чистым js в App.js react

Есть файл firstjs на чистом js, который возвращает объект, например, data

194