3

为什么属性名称不同:

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

$(elem).css('marginTop')

? 不应该是:

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

反而?

4

2 回答 2

4

您可以使用“camelCase”或“连字符分隔”形式的属性。两者都会起作用。请参阅jQuery 文档.css()

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

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

$(elem).css('marginTop')
$(elem).css('margin-top')
$(elem).css('paddingTop')
$(elem).css('padding-top')
于 2012-10-07T18:11:38.997 回答
1

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

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

而在 JavaScript 中,它是:

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

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

于 2012-10-07T18:11:26.613 回答