如何用JavaScript更改样式参数?

时间:2012-07-08 00:51:11

标签: javascript

可以轻松更改某些样式参数,例如:

document.getElementById(element).style.height = height + "px"; 

但是如何更改以-开头的参数,例如-o-transform-origin

document.getElementById(element).style.-o-transform-origin = "top left"; // error!

请建议,如何处理纯旧的时尚JavaScript(没有jQuery,没有Dojo,......)。

2 个答案:

答案 0 :(得分:4)

使用括号表示法:

document.getElementById(element).style['-o-transform-origin'] = "top left"

答案 1 :(得分:3)

以下链接将有所启发:

http://www.javascriptkit.com/javatutors/setcss3properties.shtml

另外,如果链接腐烂,我会在链接中包含一些代码!

function getsupportedprop(proparray) {
    var root = document.documentElement //reference root element of document
    for (var i = 0; i < proparray.length; i++) { //loop through possible properties
        if (typeof root.style[proparray[i]] == "string") { //if the property value is a string (versus undefined)
            return proparray[i] //return that string
        }
    }
}

//SAMPLE USAGE
var boxshadowprop = getsupportedprop(['boxShadow', 'MozBoxShadow', 'WebkitBoxShadow']) //get appropriate CSS3 box-shadow property
document.getElementById("mydiv").style[boxshadowprop] = "5px 5px 1px #818181" //set CSS shadow for "mydiv"​​​​