2016-07-01 70 views
-1

我想通過從這段代碼中提取出來將12.5的值設置爲一個變量。如何找到一個元素的innerHTML

<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

什麼是'inthepot'? – Li357

+0

它只是一個變量 – Recuvan

+1

只需使用'textContent'而不是'innerHTML' – Rayon

回答

3

由於您使用.querySelector,您不使用[0]。取而代之的是,只需調用.innerHTML,並使用字符串解析,讓您的號碼:

function getNumber(){ 
 
    alert(parseFloat(document.querySelector("li").innerHTML.split("</span>")[1].split(" ")[0])); 
 
    }
<!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>

-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]); 
1

使用Node.textContent代替的innerHTML

Node.textContent屬性表示node及其descendantstext content

Unary plus (+)unary plus operator先於其操作數,並計算其操作數,而是試圖將其轉換成number,如果它是不是已經。

注:Number可以使用的,以及代替Unary plus (+)

function getNumber() { 
 
    alert(+document.querySelector("li").textContent.trim().split(" ")[0]); 
 
}
<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>

相關問題