有没有办法检查Element是否可以渲染?
例如,我想要一些方法在true
br
a
div
body
等上返回html
但要在false
head
style
等上返回script
我尝试if(!el.style) return false;
,但似乎head
和style
.style
是可能的,还是我应该制作一个可渲染的标记名列表?
答案 0 :(得分:2)
我想我有一个简单的解决方案。在创建时检查哪些元素display: none
。
function isDefaultVisible(domElement) {
var el = document.createElement(domElement.tagName);
return window.getComputedStyle(el,null).getPropertyValue('display') != 'none';
}
答案 1 :(得分:1)
可以渲染所有元素。这实际上取决于浏览器的默认样式表。 有关更多信息,请参阅这篇伟大的文章:
答案 2 :(得分: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;
}