Check if class exists somewhere in parent - vanilla JS

前端 未结 10 817
时光说笑
时光说笑 2020-12-09 08:42

I\'m really struggling to see how to do this. I want to check if a class exsits somewhere in one of the parent elements of an element.

I don\'t want to use any libra

10条回答
  •  伪装坚强ぢ
    2020-12-09 08:47

    The fiddle

    The code

    function hasClass(element, className) {
      var regex = new RegExp('\\b' + className + '\\b');
      do {
        if (regex.exec(element.className)) {
          return true;
        }
        element = element.parentNode;
      } while (element);
      return false;
    }
    

    OR

    function hasClass(element, className) {
      do {
        if (element.classList && element.classList.contains(className)) {
          return true;
        }
        element = element.parentNode;
      } while (element);
      return false;
    }
    

提交回复
热议问题