I am using getElementsByClassName
to fund multiple elements and change their style but as I found out getElementsByClassName
is not cross-browser compatible. Can you please help me to simplifie this code. I would prefer a native JS implementation but jQuery will be probably better so it is also fine....
So how can I then loop through the elements an depending on individual class change some style....
var ele = document.getElementsByClassName("dhSliderMobile");
for (var i = 0; i < ele.length; i++) {
if (ele[i].style.display === "block") {
ele[i].style.display = "none";
var div = document.getElementsByClassName("dhImageInfoDiv");
var div1 = document.getElementsByClassName("dhSeriesInfoDiv");
for (var j = 0; j < div.length; j++) {
div[j].style.right = 0 + "px";
div1[j].style.right = 0 + "px";
}
}
else {
ele[i].style.display = "block";
var div = document.getElementsByClassName("dhImageInfoDiv");
var div1 = document.getElementsByClassName("dhSeriesInfoDiv");
for (var j = 0; j < div.length; j++) {
div[j].style.right = 40 + "px";
div1[j].style.right = 40 + "px";
}
}
}
var ele = document.getElementsByClassName("dhSliderDesktop");
for (var i = 0; i < ele.length; i++) {
if (ele[i].style.display === "block") {
ele[i].style.display = "none";
var div = document.getElementsByClassName("dhImageInfoDiv");
var div1 = document.getElementsByClassName("dhSeriesInfoDiv");
for (var j = 0; j < div.length; j++) {
div[j].style.right = 0 + "px";
div1[j].style.right = 0 + "px";
}
}
else {
ele[i].style.display = "block";
var div = document.getElementsByClassName("dhImageInfoDiv");
var div1 = document.getElementsByClassName("dhSeriesInfoDiv");
for (var j = 0; j < div.length; j++) {
div[j].style.right = 20 + "px";
div1[j].style.right = 20 + "px";
}
}
}