这是我的代码:
$(".yearly-package").click(function() {
$(".electro-price")
.find(".woocommerce-Price-amount")
.text(function() {
var yearprice = $("#year_price").text();
return $(this)
.text()
.replace("99.00", yearprice);
});
});
$(".halfyear-package").click(function() {
$(".electro-price")
.find(".woocommerce-Price-amount")
.text(function() {
var halfyearprice = $("#halfyear_price").text();
return $(this)
.text()
.replace("99.00", halfyearprice);
});
});
$(".single-package").click(function() {
$(".electro-price")
.find(".woocommerce-Price-amount")
.text(function() {
var oneprice = $("#one_price").text();
return $(this)
.text()
.replace("99.00", oneprice);
});
});
单击div时,价格将改变。但是,如果我再次单击其他按钮-价格将不会再次更改。
怎么了?为什么只能在首次点击时使用?
这是html
<div class="ps-package single-package first-pack" data-val="1">
<div class="ps-name">Single Package</div>
</div>
<span class="electro-price"><ins><span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>99.00</span></ins> <del><span class="woocommerce-Price-amount amount"><span class="woocommerce-Price-currencySymbol">$</span>150.00</span></del></span>
答案 0 :(得分:2)
replace(arg1,arg2)函数将在文本中查找arg1,以供arg2替换。
它在第一种情况下有效,因为arg1 =“ 99.00”,而您将其替换为arg2(例如,“ 44.00”)。在第二种情况下,您正在使用arg1 =“ 99.00”或已将其更改为arg2(“ 44.00”)。因此它找不到arg1为“ 99.00”,因为您现在在文本中输入的是“ 44.00”,因此必须用第一种情况下替换它的值来更改“ 99.00”。