Javascript去除html和货币符号

时间:2017-09-26 11:22:22

标签: 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

3 个答案:

答案 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>

答案 1 :(得分:0)

如果你想在每个案例中删除document.querySelector(".price-amount").innerHTML = ""; 范围内的内容,你就必须清空它的html:

'use strict';

var request = require("request")

exports.handler = function (event, context,callback) {



let url = "https://3sawt0jvzf.execute-api.us-east-1.amazonaws.com/prod/test"

request({
    url: url,
    method: "POST",
    json: event,

}, function (error, response, body) {
    if (!error && response.statusCode === 200) {
        callback(null, { "isBase64Encoded": true|false,
                          "statusCode": "200",
                          "headers": { "headerName": "headerValue"},
                          "body": body});
    }
    else {

        console.log("error: " + error)
        console.log("response.statusCode: " + response.statusCode)
        console.log("response.statusText: " + response.statusText)
    }
})
};

答案 2 :(得分:0)

试试这个

mvn exec:exec@id1 exec:exec@id2

,其中

var price = element.innerHTML.match(/\d+\.\d+/)[0]; 使用正则表达式搜索价格模式。

.match会返回第一个匹配项,在您的情况下,它将是唯一的匹配项。