2011-06-13 119 views
1

我下面的代码:这是IE9的错误吗?

HTML代码体:

<div>asbcakjscb<div> 

CSS代码:

div { 
    width:400px; 
    height:400px; 
    background:red; 
    -ms-transform:scale(.3); 
} 

的JavaScript代码:

document.quertSelector('div').style.msTransform = 'scale(1)'; 

中的JavaScript代码在运行页面的加载事件。你可以在上面运行代码:http://jsfiddle.net/fakjX

我需要在IE9上将CSS3变换比例样式从0.3更改为1。但我不能。我认为这是一个IE9的错误。代码看起来没有问题。

你是否同意这是一个IE9的错误?或者你有解决方案来解决这个问题?

谢谢。

+1

您是不是要找的'querySelector'代替'quertSelector'? – 2011-06-13 11:55:52

+0

对不起。 “quertSelector”是拼写错误。但我的意思不是这个。请查看http://jsfiddle.net/fakjX/5。我使用jQuery并编写JS代码:'$('div').css(' - ms-transform','scale(1)');'。它不起作用。你如何看待这个?谢谢。 – weilou 2011-06-13 12:03:37

回答

2

这不是IE中的错误,在脚本中使用短划线时无效。使用jQuery设置属性时,可以使用camelCase等价物和对象表示法。

编辑:发现关于这个问题的另一个问题SO - IE9: Why setting "-ms-transform" works from css, but not with jquery.css()

$('div').css({ msTransform: 'scale(1)' }); 
+0

你的回应利用jQuery,但问题并不表明jQuery是一个选项。你能提供一个没有框架体系的例子吗? – 2011-06-13 12:12:05

+0

关于这个问题的评论可能是jQuery和小提琴上的框架肯定是jQuery – andyb 2011-06-13 12:13:48

+0

@andyb谢谢你的帮助。这非常有用!现在我认为这是一个jQuery错误。 '$('div').css('msTransform','scale(1)');'在IE9上运行良好。 '$('div').css(' - webkit-transform','scale(1)')'适用于Chrome和Safari。 '$('div').css(' - moz-transform','scale(1)')'适用于Firefox。在官方jQuery网站(http://api.jquery.com/css)上,它说:不支持速记CSS属性(例如页边距,背景,边框)。例如,如果要检索渲染边距,请使用:'$(elem).css('marginTop')'和'$(elem).css('marginRight')',等等。 – weilou 2011-06-13 12:33:41