3

Element がレンダリング可能かどうかを確認する方法はありますか?

たとえば、いくつかのメソッドが返されるようtrueにしたいbr a div body htmlなど

falseしかし、head style scriptなどに戻る

試しif(!el.style) return false;てみましたが、均等にhead見えstyleます.style

それはまったく可能ですか、それともレンダリング可能なタグ名のリストを作成するだけですか?

4

3 に答える 3

2

簡単な解決策があると思います。作成時にどの要素があるかを確認しますdisplay: none

JsFiddleはこちら

function isDefaultVisible(domElement) {
    var el = document.createElement(domElement.tagName);
    return window.getComputedStyle(el,null).getPropertyValue('display') != 'none';
}
于 2012-09-22T09:30:41.473 に答える
1

すべての要素をレンダリングできます。それは本当にブラウザのデフォルトのスタイルシートに依存します。詳細については、このすばらしい記事を参照してください。

http://mathiasbynens.be/notes/css-hidden-elements

于 2012-09-22T08:36:50.363 に答える
0
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;
}
于 2012-09-22T08:26:36.110 に答える