0
0

Не принимает переменную в метод classList.contains()

сам класс, который ожидаем будет задан аргументом вызова главной функции (tab)

если прописать класс напрямую (не как сейчас, а `target.classList.contains("нужный класс")`), то все работает, а сейчас нет

сам класс получается методом getElementsByClassName("info-header-tab")

во всех остальных частях функции аргумент Tab работает нормально.

нужен совет.

может быть пролема, что класс получается с точкой в названии, а должен передаваться в метод без нее ? хз, хотя во всех других местах работает же..

если так, то как исправить? 

function myTabs(tab, tabWrapper, tabContent) {
  function hideTab(a) {
    for (let i = a; i < tabContent.length; i++) {
      tabContent[i].classList.remove("show");
      tabContent[i].classList.add("hide");
    }
  }
  hideTab(1);
  function showTab(b) {
    if (tabContent[b].classList.contains("hide")) {
      tabContent[b].classList.remove("hide");
      tabContent[b].classList.add("show");
    }
  }
  tabWrapper.addEventListener("click", function (e) {
    let target = e.target;



// Проблема строчкой ниже


    if (target && target.classList.contains(tab)) {
      for (let i = 0; i < tab.length; i++) {
        if (target == tab[i]) {
          hideTab(0);
          showTab(i);
        }
      }
    }
  });
}

Иван Глебов
4 years ago






Еще нет ответов