HTMLElementを判定したい
Q&A
Closed
Stringでid属性を指定した場合はdocument.getElementById()を挟み、
HTMLElementの場合はそのまま使用し、
それ以外の場合は処理をスキップしたいです。
HTMLElementはどのようにして条件式を書けばよいのでしょうか。
jQueryは使用せずに記述したいです。
追記1
以下で試してみましたが、HTMLElementとしては処理できませんでした。
button要素にonclick="toggleAria(this)"と入れてHTMLElementを取れるようにしています。
使い所によってはthisではなくidを指定することがあるので分岐したかったのですが、この原因がわからない状態です。
const toggleAria = target => {
try {
let targetElement;
console.log(target);
console.log(typeof target);
if (targetElement instanceof HTMLElement) {
targetElement = target;
} else if (typeof targetElement === 'string') {
targetElement = document.getElementById(target);
} else {
throw '型が一致しません。';
}
(省略)
} catch (error) {
console.warn(error);
}
};
0