青いやつの進捗日記。

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

IEではclassList関連で使えない機能が色々ある。

hepokon365.hatenablog.com

IEではclassListで使えない機能があります。

代表的なのがtoggleとか。

で、今回引っかかったのが

const a = b.classList.value.replace(/-/g, '').split(' ');

で、IEで未定義またはNULL参照プロパティ'replace'は取得できませんとエラーに。

検証してみると、b.classList.valueがundefined。これが原因ぽい。

ただ、MDN見てもcaniuse見てもclassList.valueがどうなのか、記述が無い…

classList.valueはそのクラス名を文字列で取得するもの。

chaika.hatenablog.com

polyfillを入れて解決もできそうではあるが、Licenseが謎。

github.com

replaceするために文字列にしているので今回は別の方法で文字列化して解決。

qiita.com

const a = String(b.classList).replace(/-/g, '').split(' ');

これで解決しました。