使用JavaScript解析CSS样式的marginLeft
我试图使用使用JavaScript解析CSS样式的marginLeft,javascript,html,css,Javascript,Html,Css,我试图使用JavaScript解析HTML元素的marginLeft属性值,但我不确定我做错了什么 我已经使用了这两种方法(带或不带,10),但使用控制台获得“当前保证金:NaN”。log: var elementMargin = document.getElementById("main"); var style = elementMargin.currentStyle || window.getComputedStyle(elementMargin); // tried this var
JavaScript
解析HTML
元素的marginLeft
属性值,但我不确定我做错了什么
我已经使用了这两种方法(带或不带,10
),但使用控制台获得“当前保证金:NaN
”。log
:
var elementMargin = document.getElementById("main");
var style = elementMargin.currentStyle || window.getComputedStyle(elementMargin);
// tried this
var oldValue = parseInt(document.getElementById("main").style.marginLeft, 10);
console.log("Current marginLeft: " + oldValue);
// or this
var oldValue = parseInt(document.getElementById("main").style.marginLeft);
console.log("Current marginLeft: " + oldValue);
当我直接读取和console.log
属性值时,不会出现错误:
var elementMargin = document.getElementById("main");
var style = elementMargin.currentStyle || window.getComputedStyle(elementMargin);
console.log("Current marginLeft: " + style.marginLeft);
我得到输出“电流裕度left:199px”
这是基于这篇文章:
我做错了什么?在第一个示例中,您得到的是计算出的左边距,在样式表层叠之后,它将为您提供任何边距 在第二个和第三个示例中,您将获得
style
属性中指定的左边距。由于您得到的是NaN
,因此这可能不是使用style
属性设置的,未定义的属性也是如此
将parseInt
添加到您首先使用的代码中。在第一个示例中,您将获得计算出的左边距,这将在样式表层叠后为您提供任何边距
在第二个和第三个示例中,您将获得style
属性中指定的左边距。由于您得到的是NaN
,因此这可能不是使用style
属性设置的,未定义的属性也是如此
将parseInt
添加到您首先使用的代码中。以澄清答案,以防其他人有相同的问题(感谢昆汀):
var elementMargin = document.getElementById("main");
var style = elementMargin.currentStyle || window.getComputedStyle(elementMargin);
var oldValue = parseInt(style.marginLeft, 10);
console.log("Current marginLeft: " + oldValue);
输出:“当前保证金eft:199px”以澄清答案,以防其他人有相同的问题(感谢昆汀):
var elementMargin = document.getElementById("main");
var style = elementMargin.currentStyle || window.getComputedStyle(elementMargin);
var oldValue = parseInt(style.marginLeft, 10);
console.log("Current marginLeft: " + oldValue);
输出:“当前边际剩余:199px”尝试提供一个。添加最少的HTML来演示问题。让它成为一个。尝试提供一个。添加最少的HTML来演示问题。感谢您的回复和帮助,非常感谢。如下所示:var test=parseInt(elementMargin.currentStyle | | window.getComputedStyle(elementMargin))代码>?别忘了基数。我创造了这个小提琴:如果你能看看我做错了什么,我将不胜感激。谢谢。您正在样式对象上运行parseInt
,而不是在读取该对象的marginLeft
属性时得到的带有数字的字符串。Ohhhh!谢谢。谢谢你的回应和帮助-非常感谢。如下所示:var test=parseInt(elementMargin.currentStyle | | window.getComputedStyle(elementMargin))代码>?别忘了基数。我创造了这个小提琴:如果你能看看我做错了什么,我将不胜感激。谢谢。您正在样式对象上运行parseInt
,而不是在读取该对象的marginLeft
属性时得到的带有数字的字符串。Ohhhh!非常感谢。