0

我在使用 jquery ui 构建的 Web 应用程序中使用画布。我添加了主题滚轮小部件,并希望画布元素可以主题化。所以我面临的问题是,如何以编程方式访问 css 类属性以在绘制画布对象时使用?

这是我尝试过的:

var color = $("<div></div>").addClass("ui-state-default").css("background-color");  
4

1 回答 1

1

知道了。需要将元素添加到 DOM。

function getClassProperty(clazz,prop,type){
    type = (type || false) ? type : "div";
    var dummy = $("<"+type+" style='display=none;'></"+type+">").addClass(clazz).appendTo("body");
    var value = dummy.css(prop);
    dummy.remove();
    if(value.indexOf("rgb") != -1){
        var digits = /(.*?)rgba?\((\d+),\s?(\d+),\s?(\d+)[\),]/.exec(value);
        return "#" + (parseInt(digits[4])|(parseInt(digits[3])<<8)|(parseInt(digits[2])<<16)).toString(16);
    }else{
        return value;
    }
}
console.log(getClassproperty("ui-state-default","background-color"));

rgb2hex 代码取自:http ://haacked.com/archive/2009/12/29/convert-rgb-to-hex.aspx

于 2011-06-30T18:37:41.927 回答