Element がレンダリング可能かどうかを確認する方法はありますか?
たとえば、いくつかのメソッドが返されるようtrue
にしたいbr
a
div
body
html
など
false
しかし、head
style
script
などに戻る
試しif(!el.style) return false;
てみましたが、均等にhead
見えstyle
ます.style
それはまったく可能ですか、それともレンダリング可能なタグ名のリストを作成するだけですか?
Element がレンダリング可能かどうかを確認する方法はありますか?
たとえば、いくつかのメソッドが返されるようtrue
にしたいbr
a
div
body
html
など
false
しかし、head
style
script
などに戻る
試しif(!el.style) return false;
てみましたが、均等にhead
見えstyle
ます.style
それはまったく可能ですか、それともレンダリング可能なタグ名のリストを作成するだけですか?
簡単な解決策があると思います。作成時にどの要素があるかを確認しますdisplay: none
。
function isDefaultVisible(domElement) {
var el = document.createElement(domElement.tagName);
return window.getComputedStyle(el,null).getPropertyValue('display') != 'none';
}
すべての要素をレンダリングできます。それは本当にブラウザのデフォルトのスタイルシートに依存します。詳細については、このすばらしい記事を参照してください。
function isElementRenderable(el){
if(el.nodeType != 1) return false;
if(el instanceof HTMLHeadElement || el instanceof HTMLLinkElement ||
el instanceof HTMLTitleElement|| el instanceof HTMLMetaElement ||
el instanceof HTMLBaseElement || el instanceof HTMLStyleElement||
el instanceof HTMLScriptElement)
return false;
return true;
}