Javascript 将NaN作为函数结果而不是必需的整数的问题

Javascript 将NaN作为函数结果而不是必需的整数的问题,javascript,jquery,html,casting,Javascript,Jquery,Html,Casting,这篇文章是我之前关于JS跨度值的文章的延续。 在下面的几行中,当我在Chrome中打开Javascript控制台时,我看到我的值接近标记的结尾。假设他们分别是20岁和10岁。但是,这些值不在实际的html代码中(如下所示)。在我的javascript函数中,我只是尝试“提取”跨度值,将其除以,然后返回一个值。我的结果一直是“NaN”。我是否需要在某个地方进行类型转换,以便函数返回数值 注意:值是从历史记录中读取的,“PI” <span id ="LineSpeedGE" class='PI

这篇文章是我之前关于JS跨度值的文章的延续。 在下面的几行中,当我在Chrome中打开Javascript控制台时,我看到我的值接近标记的结尾。假设他们分别是20岁和10岁。但是,这些值不在实际的html代码中(如下所示)。在我的javascript函数中,我只是尝试“提取”跨度值,将其除以,然后返回一个值。我的结果一直是“NaN”。我是否需要在某个地方进行类型转换,以便函数返回数值

注意:值是从历史记录中读取的,“PI”

<span id ="LineSpeedGE" class='PIData' data-tag='G2LineSpeedGE'></span> (value of 20)

<span id ="AimPsSpd"    class='PIData' data-tag='G2rCurrentAimPsSpd'></span> (value of 10)
(值为20)
(价值10)
JS功能:

 function divide(n1,n2)
 { ans = n1/n2;
     document.write(" "+ans+"<BR>");    
     return ans;
 }

 var a = parseInt($("LineSpeedGE.PIData[data-tag]").data("tag"), 10);
 var b = parseInt($("AimPsSpd.PIData[data-tag]").data("tag"), 10);

divide (a, b);
函数除法(n1,n2)
{ans=n1/n2;
文件。写(“+ans+”
”; 返回ans; } var a=parseInt($(“LineSpeedGE.PIData[data tag]”)。data(“tag”),10); var b=parseInt($(“aimpsppd.PIData[data tag]”)。data(“tag”),10); 划分(a,b);
我得到的结果是NaN,而不是预期的“2”。如果我在变量中插入正则整数,实际除法就可以了。我似乎很难“捕获”在html代码中不可见的跨度的实际值。我怀疑数据类型有冲突


这是我的原始帖子的链接:如果这看起来很复杂,请参考。

G2LineSpeedGE
不是一个数字,g2rrentaimpsppd也不是


将起作用。

G2LineSpeedGE
不是一个数字,
g2rrentaimpspspd
也不是一个数字


会起作用。

首先,你的选择器错了

$("LineSpeedGE.PIData[data-tag]")
这将查找名为
LineSpeedGE
)的元素。您可能想要:

$("#LineSpeedGE.PIData[data-tag]")
#
使其搜索ID(如果您是按ID搜索,则不需要使用
.PIData[data tag]


而且,
数据标记
值不是数字。它们是
G2LineSpeedGE
G2RRENTAIMPSSPD
,它们不是数字。

首先,您的选择器是错误的

$("LineSpeedGE.PIData[data-tag]")
这将查找名为
LineSpeedGE
)的元素。您可能想要:

$("#LineSpeedGE.PIData[data-tag]")
#
使其搜索ID(如果您是按ID搜索,则不需要使用
.PIData[data tag]


而且,
数据标记
值不是数字。它们是
G2LineSpeedGE
g2rrentaimpsppd
,它们不是数字。

您的选择器错误,因此无法返回任何元素

$("LineSpeedGE.PIData[data-tag]")
它缺少
#
,因此您要查找的是名为LineSpeedGE的元素,而不是id

$("#LineSpeedGE.PIData[data-tag]")
同样的情况也适用于
aimpspd
。缺少
#


此外,
G2LineSpeedGE
是一个字符串,而不是一个数字,因此在运行parseInt时也会导致NAN。

您的选择器错误,因此无法返回任何元素

$("LineSpeedGE.PIData[data-tag]")
它缺少
#
,因此您要查找的是名为LineSpeedGE的元素,而不是id

$("#LineSpeedGE.PIData[data-tag]")
同样的情况也适用于
aimpspd
。缺少
#


此外,
G2LineSpeedGE
是一个字符串,而不是一个数字,因此在运行parseInt时也会导致NAN。

数据标记不是一个可解析的数字。。另外,您使用了错误的选择器
G2LineSpeedGE
g2currentaimpspspd
不是数字。实际值存储在哪里?您的
数据标记
值显然不是数字。这些数字是通过标记名从数据库中提取的。整个软件包都附带了大量CSS文件,因此可能在某个地方有一种方法可以只获取原始数字。如果我解析一个字符串,然后将其键入一个Int,该怎么办?
数据标记
不是一个可解析的数字。。另外,您使用了错误的选择器
G2LineSpeedGE
g2currentaimpspspd
不是数字。实际值存储在哪里?您的
数据标记
值显然不是数字。这些数字是通过标记名从数据库中提取的。整个软件包都附带了大量CSS文件,因此可能在某个地方有一种方法可以只获取原始数字。如果我解析一个字符串,然后将其键入Int,会怎么样?这不起作用,因为选择器一开始就错了。这不起作用,因为选择器一开始就错了。