来自html的数值被读作字符串

时间:2017-10-16 14:11:18

标签: javascript

我在这里简化了我的代码,以表明我有一个值传入" mydiv1"这总是一个数字。我希望能够引用它来执行操作,具体取决于它是否为正或负,但它必须被视为字符串。有没有什么办法可以将这个值作为数字得到?我所见过的所有主题如parseInt()似乎与指定变量的时间有关,而不是从html中获取。

<html>
<head>
<script type="text/javascript">
    function myFunction() {
        var firstDivContent = document.getElementById('mydiv1');
      //  var firstDivContent =  "23";
        if (firstDivContent > 0) {
            alert('positive')
        }
        else if (firstDivContent < 0) {
            alert ('negative')
        }
    }
</script>
</head>
<body onload="myFunction();">
<div id="mydiv1">23</div>
</body>
</html>

3 个答案:

答案 0 :(得分:2)

<html>
<head>
<script type="text/javascript">
    function myFunction() {
        var firstDivContent = document.getElementById('mydiv1');
        firstDivContent = parseFloat(firstDivContent.innerHTML);
        if (firstDivContent > 0) {
            alert('positive')
        }
        else if (firstDivContent < 0) {
            alert ('negative')
        }
    }
</script>
</head>
<body onload="myFunction();">
<div id="mydiv1">23</div>
</body>
</html>

使用innerHTML获取div的HTML内容,然后使用parseFloat将字符串转换为数字。

答案 1 :(得分:1)

您应该获得元素的innerHTML。然后,您可以使用parseInt()+yourVar将字符串转换为数字

var firstDivContent = +(document.getElementById('mydiv1').innerHTML);
if (firstDivContent > 0) {
  alert('positive')
} else if (firstDivContent < 0) {
  alert('negative')
}
<div id="mydiv1">23</div>

答案 2 :(得分:-1)

我更喜欢使用&#34; +&#34;运算符使nuber变得更清晰,在这个Android activity onDestroy() called on screen lock中,你可以测试它:

function myFunction() {
        var firstDivContent = document.getElementById('mydiv1');
      //  var firstDivContent =  "23";
        if (firstDivContent > 0) {
            alert('positive')
        }
        else if (firstDivContent < 0) {
            alert ('negative')
        }
    }