在数学上使用inner.HTML?

时间:2014-03-31 15:50:08

标签: javascript math numbers innerhtml

我正在编写一个脚本,其中我必须使用一个数字的inner.HTML,并以数学方式使用它。这是一个例子:

<span id="searchResults">2301</span>

正如您所看到的,inner.HTML是一个数字,我想制作一个类似的脚本:

var results = document.getElementById("searchResults");
if (results > 3000)
    {
        location.reload(true);
    }

当然这是不可能的,因为脚本没有将inner.HTML视为可以在数学上使用的数字。

那么,有没有办法将inner.HTML转换为我可以用数字做的数字?

感谢您的帮助!

5 个答案:

答案 0 :(得分:2)

您可以使用一元运算符+将字符串转换为类似

的数字
var results = +(document.getElementById("searchResults").innerHTML);
//------------^

您也忘了使用.innerHTML

答案 1 :(得分:2)

您可能需要.innerHTML,因为没有.innerHTML您的results将包含HTMLspanobject您必须innerHTML

var results = document.getElementById("searchResults").innerHTML;
alert(parseInt(results));
if (parseInt(results,10) > 3000)
{
    alert("te");
   // location.reload(true);
}

Demo

答案 2 :(得分:2)

  1. 您必须实际获取innerHTML(您当前正在查看HTML元素节点)
  2. 您可以使用parseIntparseFloat或一元+运营商(但您可能不需要,因为>非常聪明,而LHS是一个数字)。
  3. 这样:

    var results = document.getElementById("searchResults");
    var results_num = parseInt( results.innerHTML, 10 );
    

答案 3 :(得分:1)

var results = document.getElementById("searchResults").innerHTML;
if (parseInt(results) > 3000)
{
    location.reload(true);
}

InnerHtml返回字符串内容。您需要将其转换为数字/整数。

答案 4 :(得分:1)

var results = document.getElementById("searchResults");
if (results != null && parseInt(results.innerHTML) > 3000)
{
  location.reload(true);
}