如何获得Javascript识别的数字';s";document.getElementById";脚本操作符?

如何获得Javascript识别的数字';s";document.getElementById";脚本操作符?,javascript,Javascript,我试图从document.getElementById中获取一个数字,以便使用比较运算符(例如:points

我试图从document.getElementById中获取一个数字,以便使用比较运算符(例如:points<40)在if/else语句中作为实数读取。下面是我使用w3school的工具帮助完成的一个示例

我知道Javascript会根据数据类型、运算符和数字做某些事情。下面是我开始使用的原始代码,但我尝试了不同的变体,请参见下文,并在右侧注释了数据类型结果。我使用算术来找出当被拉入变量时元素的id号发生了什么,最好的结果是NaN

如何获取HTML标记中的数字以供Javascript的document.getElementById脚本操作符识别?


39是
var points=document.getElementById(“点”);//[对象HTMLSPANECT]
//var points=+document.getElementById(“points”);//楠
//var points=parseInt(document.getElementById(“points”);//楠
//var points=Number(document.getElementById(“points”);//楠
if(points<40){document.getElementById(“结果”).innerHTML=“小于40”}
else{document.getElementById(“结果”).innerHTML=“40或更高”;}
  • 获取元素(您正在这样做):

  • 获取元素的文本:

    var text = points.innerHTML; // or .textContent or .innerText
    
  • 可以通过多种方式将其转换为数字,例如
    parseInt

    var num = parseInt(text, 10); // 10 = base 10 (decimal)
    // or
    var num = parseFloat(text);
    // or
    var num = +text;
    // or
    var num = Number(text);       // Just like the unary +
    
    详细介绍了各种选项(
    parseInt
    parseFloat
    ,一元
    +
    数字

  • 然后
    num
    包含数字

    当然,您可以结合以下步骤:

    var num = +document.getElementById("points").innerHTML;
    
    返回,则必须访问该元素的属性才能获取数字。在本例中,由于您处理的是
    元素,因此可以使用
    .textContent
    获取其文本内容

    以下是一个例子:

    var x = parseInt(document.getElementById("points").textContent);
    

    HTML元素永远不会是数字。正如您已经展示的,
    document.getElementById(“points”);//[object HtmlSpanement]
    您有一个范围,而不是一个数字。您需要的是span的
    .value
    innerHTML
    innerText
    。然后理想情况下,您应该
    parseInt
    .value
    中得到什么。只需使用单引号或对其进行转义即可。@csmckelvey-将.innerHTML添加到我的var点末尾就行了。谢谢如果你的回答是答案,我会投赞成票。。。顺便说一句,我在之前删除的一条评论中问过如何使else语句的innerHTML包含一个带有引号的HTML标记,提示csmckelvey的后续评论,该评论有效:.innerHTML=”“;}嘿,贾罗德·罗伯森,恩科西,奥拉夫,弗兰克兹,索蒂里奥斯·德里马诺利斯,你能取消你对我的帖子的否决票吗,或者取消[等等]。一个“-3”有点太离谱了。我删除了我额外的思考过程/代码,编辑了标题和正文,只留下了基本问题。谢谢,我没有尝试你第一次提到的所有内容,但听起来它会起作用。不过,我确实在原始代码(var points)上尝试了合并步骤,效果很好,但只需在末尾添加.innerHTML即可。谢谢。这同样有效,但只需将.innerHTML添加到原始var的末尾即可。
    var x = parseInt(document.getElementById("points").textContent);