开发者问题收集

.slice() 虽然是在字符串上调用的,但它并不是一个函数

2016-05-26
9185

我试图找出一些冲突,但编译器一直显示错误 .slice() 不是函数。代码如下:

var topPos1 = $('#player').css("top");
var rightPos1 = $('#player').css("right");
var topPos2 = $('#player').css("top");
var rightPos2 = $('#player').css("right");
var pos = topPos1.indexOf('px');
topPos1 = parseInt(topPos1.slice(0,pos));

我的 jQuery 已加载。

3个回答

也许您的 topPos1 没有返回任何内容,如果 $('#player') 没有 top 的 css 值,则将其分配给一个值将导致 nullNaN

您应该记录这些值以查看结果是否正确。

lithium
2016-05-26

您不能直接对数字进行切片,您可以将其转换为字符串,然后像下面这样进行 切片

038758518

Chetan Sanghani
2016-05-26

您只需使用 .replace('px', '') - 它将为您节省一次函数调用

Ivan Kovachev
2016-05-26