我试图通过从这段代码中提取它来将值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)
答案 0 :(得分:3)
由于您使用的是.querySelector
,因此您不使用[0]
。相反,只需调用.innerHTML
,并使用字符串解析来获取您的号码:
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;
答案 1 :(得分:1)
使用Node.textContent
代替innerHTML
Node.textContent
属性代表text content
及其node
的{{1}}。
Unary plus (+)
, descendants
位于其操作数之前,并计算其操作数,但尝试将其转换为unary plus operator
,如果它还没有。
注意: number
也可以用来代替Number
Unary plus (+)
&#13;
function getNumber() {
alert(+document.querySelector("li").textContent.trim().split(" ")[0]);
}
&#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]);