2017-09-26 59 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 = "";