1

我正在使用 jquery .css() 函数来获取 'margin-left' 属性,var divMargin= $('#DivId').css('margin-left')但有时我会得到这完美的作品undefineddivMargin有时会导致问题

var divMargin= $('#DivId').css('margin-left'); 

这种意外行为的原因是什么?

4

2 回答 2

0

把你的脚本放进去

$(document).ready(function(){
var divMargin= $('#DivId').css('margin-left'); 
})

所以它在 DOM 加载后运行

于 2012-07-18T12:41:36.583 回答
0

jQuery.css()不返回计算的样式。.css(..)如果我没记错的话,它只会为您提供您通过调用设置的那些 CSS 属性。要获取当前设置的 CSS 属性,无论它是从哪里设置的,您都可以使用window.getComputedStyle

使用它来获取元素的计算样式:

window.getComputedStyle(element); 

参考:https ://developer.mozilla.org/en/DOM/window.getComputedStyle

对于margin-left,您可以执行以下操作:

var marginLeft = window.getComputedStyle($('#DivId')[0]).marginLeft;
于 2012-07-18T12:40:35.273 回答