如何找到元素的innerHTML

时间:2016-07-01 19:13:11

标签: javascript

我试图通过从这段代码中提取它来将值12.5设置为变量。

<li style="background-color: transparent;">
<a href="#userModal" data-toggle="modal" data-target="#userModal"></a>
<span style="background-color:#FDBF6F"></span>
12.5 GoCoins
</li>

我已经尝试过做一些研究,但无法理解它,帮助升值。

var inthepot = 0
inthepot = +(document.querySelector("li")[0].innerHTML)

3 个答案:

答案 0 :(得分:3)

由于您使用的是.querySelector,因此您不使用[0]。相反,只需调用.innerHTML,并使用字符串解析来获取您的号码:

&#13;
&#13;
function getNumber(){
    alert(parseFloat(document.querySelector("li").innerHTML.split("</span>")[1].split(" ")[0]));
  }
&#13;
<!DOCTYPE HTML>
<html>
<body>
<li style="background-color: transparent;">
<a href="#userModal" data-toggle="modal" data-target="#userModal"></a>
<span style="background-color:#FDBF6F"></span>
12.5 GoCoins
</li>
  <button onclick="getNumber()">Click!</button>
</body>
</html>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

使用Node.textContent代替innerHTML

  

Node.textContent属性代表text content及其node的{​​{1}}。

Unary plus (+) descendants位于其操作数之前,并计算其操作数,但尝试将其转换为unary plus operator,如果它还没有。

注意: number也可以用来代替Number

&#13;
&#13;
Unary plus (+)
&#13;
function getNumber() {
  alert(+document.querySelector("li").textContent.trim().split(" ")[0]);
}
&#13;
&#13;
&#13;

答案 2 :(得分:-1)

这是使用正则表达式的解决方案:

https://jsfiddle.net/9vs9v7oL/1/

var my_li_contents = document.querySelector('li').innerHTML;
var coins = /^([0-9.]+) GoCoins$/m.exec(my_li_contents);
alert(coins[1]);