Próbuję napisać program, który zbiera wszystkie nazwy klas w div
, przechowuje je w array
i popycha je wszystkie z powrotem do DOM z klasy o nazwie blue
na końcu, to jest HTML:DOM nie aktualizuje się po dodaniu klasy do elementu div?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>some title</title>
<style>
.blue{
width: 200px;
height: 200px;
background: blue;
}
</style>
</head>
<body>
<div class="someClass otherClass" id="box"></div>
<button id="btn">click</button>
</body>
</html>
Chodzi o to, że wiem, jak uzyskać wszystkie nazwy klas wewnątrz div
, a nawet jak wcisnąć blue
(na btn
kliknięcie) wewnątrz tego elementu div razem z innymi wartościami, które zebrałem, ale dlaczego nie jest to niebieskie pudełko pokazywać się? czego mi brakuje?
var domManipulation = function(){
var box = document.querySelector('#box');
var btn = document.querySelector('#btn');
var class_list = [];
if(box.classList.length > 0){
for(var i = 0; i < box.classList.length; i++){
class_list.push(box.classList[i]);
}
}
btn.addEventListener('click', function(){
class_list.push("blue");
box.classList.add(class_list);
console.log(class_list);
});
}();
Oto JsBin i nie mogę używać jQuery btw.
Możliwy duplikat [Jak dodać/usunąć klasę w JavaScript?] (Http://stackoverflow.com/questions/6787383/how-to-add-remove-a- class-in-javascript) –
Wiem, jak dodać/popchnąć, problem polega na tym, że oczekiwałem, że niebieskie pole pojawi się po kliknięciu przycisku. Mogę zmienić pytanie, ponieważ myślę, że to wprowadza w błąd. – Student
Tak, wierzę, że to może być - reword jako sposób, w jaki on się znajduje, dodanie "niebieskiej" klasy wydaje się być tutaj problemem ... także oznacz, JAK wiesz, że klasa została/jest dodana właściwie itd. –