jQuery - parseFloat在使用时返回不同的值

时间:2013-12-23 17:22:32

标签: jquery parsing alert parsefloat

在此代码中:

$("div#info_holder").css("marginLeft", "100%");
alert(parseFloat($("#info_holder").css("marginLeft")));
alert(parseFloat(document.getElementById("info_holder").style.marginLeft));

第一个警报返回1037.78,第二个警报返回100

为什么?!

2 个答案:

答案 0 :(得分:1)

这是因为jQuery版本将边距返回为像素,而本机JS以百分比形式返回值。看一下这个小提琴,在运行parseFloat之前将其赋值。

$("div#info_holder").css("marginLeft", "100%");

console.log($("#info_holder").css("marginLeft"));
console.log(document.getElementById("info_holder").style.marginLeft);

http://jsfiddle.net/ryanbrill/wtABu/

答案 1 :(得分:0)

$("#info_holder").css("marginLeft")返回像素,document.getElementById("info_holder").style.marginLeft以百分比形式读取。