如何知道id或类是否有样式?

时间:2010-11-04 13:24:32

标签: javascript

// instead of 'width' could be 'font-size', 'color', 'position', etc
var result = getCSS('some_id_name_or_class_name', 'width');

// may be the value or 'null' if there is no style for such an id name or a class name
alert(result); 

(问题是还没有用这样的id或类创建的元素。)

2 个答案:

答案 0 :(得分:1)

你可以给getStyle method from QuirksMode一个镜头(它只适用于Ids,但你可以修改它):

function getStyle(el,styleProp)
{
    var x = document.getElementById(el);
    if (x.currentStyle)
         var y = x.currentStyle[styleProp];
    else if (window.getComputedStyle)
         var y = document.defaultView
                         .getComputedStyle(x,null)
                         .getPropertyValue(styleProp);
    return y;
}

你绝对应该去旅行。有一些怪癖(不同的浏览器希望styleProp参数采用不同的格式。

同样,您可以将其作为基础并构建您需要的功能(例如隐藏跨浏览器问题,使其适用于类等)。

修改

由于您不想获取计算值,因此可以使用document.styleSheets集合从CSS中读取值:

W3C DOM tests - styleSheets

同样,有一些跨浏览器实现细节(cssRules与规则),但您可以编写代码来解决这些问题。

答案 1 :(得分:-2)

http://jquery.com/

jQuery很适合这种东西。

alert($("#yourIdHere").css("whateverCssPropertyYouWant"));