我正在使用jquery .css()函数来使用var divMargin= $('#DivId').css('margin-left')
来获取'margin-left'属性,但我在undefined
中得到divMargin
这段时间有效,并且有时会导致问题
var divMargin= $('#DivId').css('margin-left');
这种意外行为的原因是什么?
答案 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后运行