我试图找出特定元素是否具有内联样式属性:我确信有一种简单的方法可以检查这一点,但我似乎找不到它。我已经尝试了多种方法,其中包括:
var contentWrapper = document.getElementById("contentWrapper");
if(contentWrapper.style.display.toString=="")
alert("Empty");
else
alert("Not Empty");
感谢您的帮助!
我试图找出特定元素是否具有内联样式属性:我确信有一种简单的方法可以检查这一点,但我似乎找不到它。我已经尝试了多种方法,其中包括:
var contentWrapper = document.getElementById("contentWrapper");
if(contentWrapper.style.display.toString=="")
alert("Empty");
else
alert("Not Empty");
感谢您的帮助!
if(contentWrapper.getAttribute("style")){
if(contentWrapper.getAttribute("style").indexOf("display:") != -1){
alert("Not Empty");
} else {
alert("Empty");
}
}
if(!contentWrapper.getAttribute("style"))
或者
if(contentWrapper.getAttribute("style")==null ||
contentWrapper.getAttribute("style")=="")
以上几行对您有用(可以选择任何人)。
在第二种解决方案中:
首先检查是否style attribute
存在于元素中,第二次检查确保它style attribute
不作为empty string
例如<div id="contentWrapper" style="">
完整代码如下:
var contentWrapper = document.getElementById("contentWrapper");
if(contentWrapper.getAttribute("style")==null || contentWrapper.getAttribute("style")=="")
alert("Empty");
else
alert("Not Empty");
我第一次扫描此页面时错过了@plalx 的评论。
if (element.hasAttribute("style"))
{
var styleText = element.getAttribute("style")
}
在相关的说明中,关于样式...
//to get info about the end results of CSS
var computedStyle = element.currentStyle || getComputedStyle(element, null);
和
//to iterate over css styles from style tags or linked CSS
for i ...
document.styleSheets[i].rules ...
//great for searching with
var elements = document.querySelectorAll(rules[i].selectorText);
style 对象有一个length
属性,它告诉你元素是否有任何内联样式。这也避免了属性style
存在但为空的问题。
// Would be 0 if no styles are applied and > 0 if there are inline styles applied
contentWrapper.style.length
// So you can check for it like this
contentWrapper.style.length === 0
检查给定 ID 的样式属性是否存在
if(document.getElementById("idname").hasAttribute("style")){
alert("Style attribute found");
}else{
alert("Style attribute not found");
}