我不知道我哪里出错了但是我想尝试使用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(欧元符号永远不会被删除)。
可能是一个微不足道的问题,所以道歉,但我不知所措,所以会感激任何帮助。
谢谢。
答案 0 :(得分:2)
bookprice = bookprice.replace('€', '');
答案 1 :(得分:1)
bookprice = bookprice.replace('€', '');
工作正常, 或
var bookprice = $(this).parent().find('.book-price').text().replace('€', '');
答案 2 :(得分:1)
replace
函数不是JavaScript中的就地操作,因为字符串是不可变的。以下行替换€
符号和€
HTML特殊字符:
bookprice = bookprice.replace('€', '').replace('€', '');
答案 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,'')