当前位置: 首页 > 面试题库 >

IE9:为什么从CSS设置“ -ms-transform”有效,但不能与jquery.css()一起使用

卫兴邦
2023-03-14
问题内容

这有效

div{
    -ms-transform: rotate(30deg);
}

并且以下不

$("div").css("-ms-transform","rotate(30deg)");

任何想法为什么,以及如何解决?
相同的东西在所有其他浏览器上都可以正常工作,但在IE上却不行。当然,只有IE9支持它。旧版本不。


问题答案:

该属性中的破折号(’-‘)不适用于脚本编写。您应该msTransform改用。

顺便说一句:尽管许多浏览器 确实 从脚本中理解并解析了诸如style [‘background-color’]之类的CSS,但afaik
Firefox却无法。此外,我认为JQuery 在解析.css(...)属性之前会将属性转换'background- color'成与DOM脚本等效的属性('backgroundColor'在这种情况下)。

为了完整起见:JQuery.css确实将虚线属性转换为camelCase。这是JQuery.css-internals的字符串表示形式
'-ms-transform'

var fcamelCase = function( all, letter ) {
        return letter.toUpperCase();
    };
var rdashAlpha = /-([a-z])/ig;
// JQuery.css does a replace operation with these variables 
// on the raw property string:
alert('-ms-transform'.replace(rdashAlpha,fcamelCase)); //=> msTransform

这就是为什么$("div").css("-ms- transform","rotate(30deg)")在IE9中不起作用的原因。IE9期望:msTransform

为什么然后$("div").css("-moz-transform", "rotate(-90deg)")在Firefox中运行呢?因为Mozilla显然决定为其-moz-
[properties]使用完整的CamelCase,所以MozTransform脚本样式属性是有效的(顺便说一句,mozTransform实际上不是。)。

那么,一切都交给浏览器了,在数字阳光下没有什么新鲜的了。



 类似资料:
  • 问题内容: 我已经在端口8080(默认)下启动并测试了Tomcat。现在,我将连接器端口更改为80,并重新启动了Tomcat,在最小的Debian 6.0安装中没有任何显示。现在,这里的窍门在哪里? 问题答案: 转到/ etc / default / tomcat6并更改为

  • 问题内容: 我正在使用ApplicationTestCase测试一个Android应用程序。我想模拟我的AsyncTasks之一(示例简化为显示问题): 因此,为了设置测试,我做了以下工作: 然后,实际测试如下: 但是运行时出现异常: 为什么模拟AsyncTask的技术不起作用? 请注意,在这种简单情况下,删除会导致问题消失,但是对于我的实际测试,我确实需要创建应用程序。 问题答案: AsyncT

  • 问题内容: 在下面的代码中,我试图使h1元素具有最高利润。当我在css中将位置设置为inline时,未显示上边距。但是,当我将其更改为inline-block时,它确实可以。我想知道是否有人可以解释为什么会这样。谢谢。 这是我的HTML: 这是CSS 问题答案: CSS2规范的9.2.4节规定: inline-block 此值使元素生成一个 内联级块容器 。内联块的内部被格式化为块框,元素本身被格

  • 问题内容: 这是一个数据框: 我可以获取列基本上是从原来的列的元组使用: 但是,如果我想要一个值列表而不是它们的元组,那我就做不到,因为它不能满足我的期望: 相反,我需要这样做: 为什么我不能使用我想要的东西? 附录 一些可能的解决方法的时间安排: 问题答案: 罪魁祸首在这里。有了它就可以了,但是using在编译模块中引发了一个异常: 如您所见,它们捕获了异常,但不必费心去处理它。 即使没有太宽泛

  • 问题内容: 这是一个数据框: 我可以获取列基本上是从原来的列的元组df使用df.apply: 但是,如果我想要一个值列表而不是它们的元组,那我就做不到,因为它不能满足我的期望: 相反,我需要这样做: 为什么我不能使用df.apply(list, 1)我想要的东西? 附录 一些可能的解决方法的时间安排: 问题答案: 罪魁祸首在这里。有了它就可以了,但是在编译模块中引发了一个异常: 如您所见,它们捕获

  • 问题内容: 只是一个让我烦恼的快速问题:为什么要集中精力 确实可以 但当显示设置为 谢谢答案 问题答案: 我的理解如下(尽管我很高兴得到纠正)。 内联元素不具有width属性,因此 无法 计算“自动” 。 块元素具有width属性,因此 可以 计算“自动”的宽度。 内联块元素的外部充当内联,但内部充当块。这样,宽度集的作用类似于内联元素中单词的宽度。