我的网站上有一个包含文字的div。
<div class="bloc_thumb_produit">
<span class="price">
<span class="woocommerce-Price-amount amount">0,00
<span class="woocommerce-Price-currencySymbol">€</span>
</span>
</span>
</div>
我想更改文字&#34; 0,00&#34;通过&#34;按需定价&#34;
我可以使用这个jQuery代码来实现:
$(".bloc_thumb_produit .price .amount:contains('0,00')").html("price on demand");
它工作正常,但只有当文字是&#34; 0,00&#34;,当文字是&#34; 40,00&#34;时,我的文字也会改变。
我试图找到一种匹配确切文字的方法&#34; 0,00&#34;并删除文本周围的跨度,以便:
<div class="bloc_thumb_produit">
<span class="price">
<span class="woocommerce-Price-amount amount">price on demand</span>
</span>
</div>
而不是:
<div class="bloc_thumb_produit">
<span class="price">
<span class="woocommerce-Price-amount amount"> 0,00
<span class="woocommerce-Price-currencySymbol">€</span>
</span>
</span>
</div>
答案 0 :(得分:0)
作为第一个选项,您可能需要if
条件来检查文字startsWith
0,00 。
if ($(".bloc_thumb_produit .price .amount").text().startsWith("0,00"))
$(".bloc_thumb_produit .price .amount").html("price on demand");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="bloc_thumb_produit"><span class="price"><span class="woocommerce-Price-amount amount">0,00<span class="woocommerce-Price-currencySymbol">€</span></span>
</span>
</div>
&#13;
如果没有,您可以考虑第二个选项,然后在data-*
添加额外的html
属性以包含amount
,您可以在没有if
条件的情况下使用它如下:
$(".bloc_thumb_produit .price .amount[data-amt^='0,00']").html("price on demand");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="bloc_thumb_produit"><span class="price"><span class="woocommerce-Price-amount amount" data-amt="0,00">0,00<span class="woocommerce-Price-currencySymbol">€</span></span>
</span>
</div>
&#13;