【发布时间】:2014-07-18 09:39:55
【问题描述】:
JQuery marginRight和在Javascript中使用CSS margin-right属性有什么区别?
使用 marginRight 我可以做这样的事情...
$("button").click(function () {
var div = $("div");
div.animate({ marginRight: '4em', opacity: '0.4' }, "slow");
});
我可以做一些操作......
$(".element").css("marginRight") = "4em";
$(".element").css("margin-right") = "4em";
为什么 jQuery 允许像 marginRight 和 margin-right 这样的样式操作?从 jQuery marginRight 转换为 CSS margin-right 不是需要更多的资源吗?
您如何决定何时适合使用?
【问题讨论】:
-
带有
-的CSS 属性在Javascript 中使用时写成驼峰式属性。所以两者本质上是相同的属性。 -
检查一个是否比另一个更快可能会很有趣。 jQuery 是否在幕后做一些事情(正则表达式?)可能会优化 camelCase 而不是连字符分隔的?或相反亦然?这是一个快速的
jsperf我把jsperf.com/camelcase-vs-hyphen 放在一起,它表明camelCase 比连字符快(至少在Chrome 中) -
@JackPattishallJr.:与很多事情一样,这在实践中几乎没有任何意义……
-
@JackPattishallJr. :我更新了您的
jsperf以添加下划线系统。在 Chrome 中似乎更快。 jsperf.com/camelcase-vs-hyphen/2。不过我没想到会有这样的结果。 -
@CBroe - 虽然这是真的,但它至少可以帮助开发人员证明他们在各种选择之间的实施决策是正确的。或者,在您与团队讨论性能选择技术的会议上分享一些东西......(这些总是很有趣......)
标签: javascript jquery css