使用jQuery.css()时,我被告知可以使用以下两个函数获得相同的结果:
$(".element").css("marginLeft") = "200px"; $(".element").css("margin-left") = "200px";
我一直使用,marginLeft因为这是文档中使用的内容
marginLeft
不支持速记CSS属性(例如,边距,背景,边框)。例如,如果要检索渲染的边距,请使用:$(elem).css(’marginTop’)和$(elem).css(’marginRight’),依此类推。
为什么jQuery的允许marginLeft以及margin-left?似乎毫无意义,并使用了更多资源将其转换为CSS margin-left?
margin-left
jQuery的基础代码将这些字符串传递给DOM,这使您可以以非常相似的方式指定CSS属性名称或DOM属性名称:
element.style.marginLeft = "10px";
等效于:
element.style["margin-left"] = "10px";
为什么jQuery允许marginLeft和margin-left?似乎毫无意义,并使用更多资源将其转换为CSS margin-left?
jQuery并没有真正做任何特别的事情。它可能会改变或代理一些字符串您传递给.css(),但在现实中有 没有工作 放于从jQuery团队成实现字符串传递。因为DOM完成了工作,所以没有使用额外的资源。
.css()