jQuery CSS属性名称不一致

时间:2012-10-07 18:08:30

标签: jquery css

为什么属性名称与:

不同
$(elem).css('padding-top')

$(elem).css('marginTop')

?不应该是:

$(elem).css('margin-top')

代替?

2 个答案:

答案 0 :(得分:4)

您可以使用“camelCase”或“连字符分隔”形式的属性。两者都有效。请参阅jQuery docs for .css()

  

jQuery可以同样解释多字属性的CSS和DOM格式。例如,jQuery理解并返回.css('background-color').css('backgroundColor')的正确值。

因此,要使用您的示例,以下所有方法都可以使用:

$(elem).css('marginTop')
$(elem).css('margin-top')
$(elem).css('paddingTop')
$(elem).css('padding-top')

答案 1 :(得分:1)

有两件事。 CSS 如何看待它以及如何使用 JavaScript 访问它。在CSS中,它是:

#element {margin-top: ...;}

而在JavaScript中,它是:

document.getElementById('element').style.marginTop

是的,JavaScript方式和传递给css()函数的CSS方式都有效。