I wrote javascript with ES6, but It's not working in IE. Especially IE9. How could I change old version of javascript. I tried translate from ES6 to old version, but I couldn't. Because I learned ES6 first.
const btns = document.querySelectorAll(".btn");
Array.from(btns).forEach(item => {
item.addEventListener("click", () => {
const selected = document.querySelectorAll(".btn.active");
selected[0].className = selected[0].className.replace(" active", "");
item.className += " active";
});
});
const setActive = el => {
[...el.parentElement.children].forEach(sib => sib.classList.remove("active"))
el.classList.add("active")
}
const setPlace = el => {
const hasClass = el.classList.contains("active");
const parent = el.parentElement.parentElement;
if (!hasClass) {
el.classList.add("active");
parent.classList.add("active");
} else {
el.classList.remove("active");
parent.classList.remove("active");
}
}
const spans = [...document.body.querySelectorAll(".choose .table_mid ul > li")]
const place = [...document.body.querySelectorAll(".search_contents .place")]
spans.forEach(el => el.addEventListener("click", e => setActive(el)))
place.forEach(el => el.addEventListener("click", e => setPlace(el)))
Use Babel compiler. Babel REPL
You can working code for IE9 if you play with preset-env
's target
option.