2

一些样式参数可以很容易地更改,例如:

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

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

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

请建议,如何使用纯老式 JavaScript(没有 jQuery,没有 Dojo,...)。

4

2 回答 2

4

使用括号表示法:

document.getElementById(element).style['-o-transform-origin'] = "top left"
于 2012-07-08T00:55:58.557 回答
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"​​​​
于 2012-07-08T00:57:23.250 回答