为什么属性名称不同:
$(elem).css('padding-top')
和
$(elem).css('marginTop')
? 不应该是:
$(elem).css('margin-top')
反而?
您可以使用“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')
有两件事。CSS如何看待它以及如何使用JavaScript访问它。在 CSS 中,它是:
#element {margin-top: ...;}
而在 JavaScript 中,它是:
document.getElementById('element').style.marginTop
css()
是的,传递给函数的 JavaScript 方式和 CSS 方式都有效。