我尝试找到一个元素的css旋转,然后将其应用到另一个元素。我该怎么办呢?用于参考的CSS(但它可以是任何旋转甚至任何变换):
#firstelement { transform: rotate(90deg); }
我在第一个元素的element.style对象中找不到任何内容。有什么想法吗?
答案 0 :(得分:3)
如果你想要检索可以通过CSS设置的样式,你必须以一种更为复杂的方式获取它们(对于IE和其他所有人来说都是不同的),而不仅仅是读取样式属性。这是一个可以做到这一点的功能:
function getStyle(el, styleProp) {
if (el.currentStyle) {
// look for IE
return(el.currentStyle[styleProp]);
} else if (window.getComputedStyle) {
// all other browsers
return(document.defaultView.getComputedStyle(el,null).getPropertyValue(styleProp));
} else {
// fall back to inline style
return(el.style[styleProp]);
}
}
var val = getStyle(document.getElementById("firstelement"), "transform");
请记住,您必须为某些CSS3设置管理特定于供应商的前缀。
您可以在此处查看适用于Chrome或Safari的示例:http://jsfiddle.net/jfriend00/JfC2V/(它是为webkit前缀编码的)。