2017-09-26 60 views
0

我有這個網站:JavaScript來去除HTML和貨幣符號

<span class="price-amount amount"><span class="price-currencySymbol">£</span>49.99</span> 

我想不HTML和貨幣符號提取的'49 .99' 只是值。

我已經試過這樣:

function() { 
    var element = document.querySelector('.price-amount'); 
    var price = element.innerHTML.replace('£', ''); 
    return price; 
} 

但結果是這樣的:

<span class="price-currencySymbol">£</span>49.99 

不是:49.99

+1

您可以使用像\ d + \。\ d +這樣的正則表達式。 –

回答

0

試試這個

var price = element.innerHTML.match(/\d+\.\d+/)[0]; 

其中

.match使用正則表達式搜索價格格局。

[0]返回第一個匹配,在你的情況下它將是唯一的匹配。

0

通過使用選擇邏輯和訪問你不正確的文本節點甚至不需要使用正則表達式。

var price = document.querySelector(".price-amount") 
 
        .childNodes[1].textContent; 
 
console.log(`Extracted price: ${price}`);
<span class="price-amount amount"><span class="price-currencySymbol">£</span>49.99</span>

0

如果要刪除什麼的,在任何情況下都'.price-currencySymbol'跨度,你中庸之道必須清空它的html:

document.querySelector(".price-amount").innerHTML = "";