青いやつの進捗日記。

べんきょうのしんちょくをかいていきます。

Javascriptの親をたどって探すclosestを関数として作る

IE11で使えないんですよねーclosest。

なので、

  getParent($current, cls) {
    let $target = $current.parentNode;
    while ($target.tagName !== 'BODY') {
      if ($target.classList.contains(cls)) {
        return $target;
      }
      $target = $target.parentNode;
    }
  }

「現在のクラスの1つ親のnodeを取得する」をそのnodeが見つけたいclass名を見つけるまでwhite文で繰り返す関数を先輩が作っていた。いや思いつかなかったたしかにそうすれば実質closestと同じこと出来ますよね…!

このPolyfill使う説もある

Element.closest()