使用Javascript替换函数从String中删除€符号

时间:2015-02-16 15:46:19

标签: javascript jquery html

我不知道我哪里出错了但是我想尝试使用jQuery从字符串中删除€符号,因为我希望能够将值添加到购物车。

无论如何,这是我的小提琴:https://jsfiddle.net/javacadabra/uuu8px6r/1/

我在变量上调用javascript replace函数,我认为该变量不重要?

如果有人看不到我的fiddle这就是html

 <div id='shopping-cart'>
                <span><span id='s-qty'>0</span> Items in Cart</span>
                <span>€<span id='s-total'>0.00</span></span>
</div>
<p class="book-price">€7.99</p><div class='add-to-cart'>Add to Cart</div>

和我的jquery

var cartitems = 0;

$('.add-to-cart').click(function(){
        var bookprice = $(this).parent().find('.book-price').text();
        bookprice.replace('€', '');
        cartitems = parseFloat(cartitems + 1);                   
        price = bookprice;
        $('#s-qty').html(cartitems);
        $('#s-total').html(price)
});

上面的代码给出了以下输出:

€7.99(欧元符号永远不会被删除)。

可能是一个微不足道的问题,所以道歉,但我不知所措,所以会感激任何帮助。

谢谢。

6 个答案:

答案 0 :(得分:2)

bookprice = bookprice.replace('€', '');

答案 1 :(得分:1)

 bookprice = bookprice.replace('€', '');

工作正常, 或

var bookprice = $(this).parent().find('.book-price').text().replace('€', '');

答案 2 :(得分:1)

replace函数不是JavaScript中的就地操作,因为字符串是不可变的。以下行替换符号和&euro; HTML特殊字符:

bookprice = bookprice.replace('€', '').replace('&euro;', '');

答案 3 :(得分:1)

replace不会改变执行它的字符串,新值返回。您需要将其存储在变量中。

bookprice = bookprice.replace('€', '');

在你的情况下:

price = bookprice.replace(/€|&euro/g, '')

此解决方案使用正则表达式替换和html编码的&euro(如果存在)。

答案 4 :(得分:1)

只需使用

bookprice = bookprice.replace('€', '');

答案 5 :(得分:1)

就这样做

price = bookprice.replace(/\s*\u20ac\s*/ig,'')