Я попытался получить массив изображений для создания простой карусели. Когда я пытаюсь изменить имя класса, чтобы показать или скрыть некоторые элементы мой массив измененными я не знаю, почему ...Странное поведение в GetElementsByClassName
Это моя скрипка https://jsfiddle.net/op1nzkxc/
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="style/style.css">
</head>
<body>
<div id="my-carousel">
<div>
<div class="car-hide">Picture 1</div>
<div class="car-hide">Picture 2</div>
<div class="car-hide">Picture 3</div>
</div>
</div>
<script src="js/script.js"></script>
</body>
</html>
Javascript :
pictures = [];
function getAllElementsHided(){
return document.getElementsByClassName("car-hide");
}
function startSlide(){
pictures = getAllElementsHided();
console.log(pictures);
pictures[1].className = "car-show";
console.log(pictures);
}
startSlide();
CSS:
body{
text-align: center;
}
ul{
text-decoration: none;
}
.car-hide{
display: none;
}
Может кто-нибудь помочь мне, пожалуйста?
Вы могли бы использовать более семантический HTML: