无法使用Jquery获取,修改和设置Span文本

时间:2018-02-08 11:11:39

标签: javascript jquery api dom

我想从价格中移除£,我需要使用javascript来执行此操作

中相同的代码运作良好

jsfiddle

但不在实时系统中

我正在尝试使用span和class来完成此操作,但它无法正常工作

https://caringforcare.co.uk/courses-4/payment/

添加到购物车>>转到支付>>提交详情

它会询问用户详细信息,可以放假信息

我使用下面的代码获得“1 x£10.00 ex VAT”

<script type='text/javascript' src='https://code.jquery.com/jquery-2.2.4.js'></script>

<script>
     var pay = $("span.woocommerce-Price-amount.amount").text();
     console.log("pay ::"+pay);
    //pay = pay.replace("&pound;", ""); 
    //$("span.woocommerce-Price-amount.amount").text(pay);
</script>

请建议我应该尝试什么。 enter image description here enter image description here

2 个答案:

答案 0 :(得分:2)

为什么不呢? pay = pay.replace("£", "");

好方法

最好的方法是将这些信息放入data-attributes。这样,您跳过replace调用,您的数据被隐藏并可用于操作它。

解析的HTML永远不应该用于获取信息,因为它不适合数据计算,验证,比较等。

请查看此代码段

&#13;
&#13;
var pay = $("span.woocommerce-Price-amount.amount").data();
console.log(pay);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span data-currency='£' data-amount='10.00' data-quantity='1' class="woocommerce-Price-amount amount">1 x £10.00 ex VAT</span>
&#13;
&#13;
&#13;

HTML为您的用户提供了正确的信息,data-attributes拥有用于计算,验证,比较等的数据。

答案 1 :(得分:1)

你试过这个吗?

pay = pay.replace("£", ""); 

我的测试:

const test = "1 x £10.00 ex VAT"

test.replace('£', '')

输出:“1 x 10.00 ex VAT”