-->

左边框宽度的jQuery返回NaN(Border-left-width returns NaN in

2019-10-17 05:14发布

我忙着写的代码,应该让边界框盒模型的跨浏览器使用一个小片段。 到目前为止,基本功能工作正常,但我不能让保证金工作。 它应该适应这就是可用的空间,但控制台返回NaN的,我不知道它从何而来。

这里是一个小提琴。

该的console.log甚至不记录任何和我不知道为什么。 任何帮助是极大的赞赏。

Answer 1:

在你的提琴的许多地方你有这样的模式:

($(this).css("border-left-width") * 2).replace("px", "")

你试图删除px执行乘法导致语法错误之后 。 它应该是

($(this).css("border-left-width").replace("px", "") * 2)

它通过自动类型转换工作或

(parseInt($(this).css("border-left-width"), 10) * 2)

这解析字符串为整数,删除尾部px

如果parseInt遇到的字符不在指定的基数中的一个数字,它忽略它和所有后续字符,并返回解析到该点的整数值。 parseInt截断号为整数值。 开头和结尾有空格。

小提琴

parseInt参考



Answer 2:

因为这:

  $(this).css("padding-left")

$(this).css("border-left-width")

返回包含“PX”的字符串,你尝试用2乘,导致NaN的。 您可以通过解析生成的字符串倍增,这样的前漂解决这个问题:

(parseFloat($(this).css("padding-left")) * 2 )

希望这可以帮助!



文章来源: Border-left-width returns NaN in jQuery