Search code examples
javascriptinternet-explorerecmascript-6internet-explorer-9

I wrote javascript with ES6, but It's not working in IE. How could I change old version of javascript


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)))

Solution

  • Use Babel compiler. Babel REPL

    You can working code for IE9 if you play with preset-env's target option.