$('#element')。css(“CssProperty”)未加载

时间:2012-07-18 12:37:09

标签: javascript jquery css

我正在使用jquery .css()函数来使用var divMargin= $('#DivId').css('margin-left')来获取'margin-left'属性,但我在undefined中得到divMargin这段时间有效,并且有时会导致问题

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

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

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:0)

将您的脚本放在

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

所以它在加载DOM后运行