jQuery.css() – marginLeft vs. margin-left?

前端之家收集整理的这篇文章主要介绍了jQuery.css() – marginLeft vs. margin-left?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用jQuery.css()我被告知我可以使用以下两个函数来获得相同的结果:
$(".element").css("marginLeft") = "200px";

$(".element").css("margin-left") = "200px";

我一直使用marginLeft,因为这是文档中使用的:

http://api.jquery.com/css/

Shorthand CSS properties (e.g. margin,background,border) are not
supported. For example,if you want to retrieve the rendered margin,
use: $(elem).css(‘marginTop’) and $(elem).css(‘marginRight’),and so
on.

为什么jQuery允许marginLeft以及margin-left?它似乎毫无意义,并使用更多的资源转换为CSS边距左?

解决方法

jQuery的底层代码将这些字符串传递给DOM,这允许你以非常相似的方式指定CSS属性名或DOM属性名:
element.style.marginLeft = "10px";

等效于:

element.style["margin-left"] = "10px";

Why has jQuery allowed for marginLeft as well as margin-left? It seems pointless and uses more resources to be converted to the CSS margin-left?

jQuery的不是真的做什么特别的。它可以改变或代理一些字符串,你传递给.css(),但实际上没有从jQuery团队允许任何字符串传递的工作。没有额外的资源使用,因为DOM做的工作。

猜你在找的jQuery相关文章