簡體   English   中英

如何使用jQuery替換跨度內的文本

[英]how to replace text inside span using jQuery

我的跨度是這樣的:

<span class="savings">92% sale</span>

我想更改"25% sale".范圍內的內容"25% sale".

我正在嘗試:

$("span.savings").text(function () {
    return $(this).text().replace("", "25% sale"); 
});

但是此方法將“ 25%銷售”添加到“ 92%銷售”附近。

我怎樣才能做到這一點?

您可以使用正則表達式\\d{2}選擇2位數字

 $("span.savings").text(function(i, v) { return v.replace(/\\d{2}/, "25"); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <span class="savings">92% sale</span> 

更新:如果您只想替換整個文本,則無需回調。 只需將第一個參數設置為新文本。

 $("span.savings").text("25% sale"); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <span class="savings">92% sale</span> 

請參閱其他答案以了解特定於jquery的方式。 如果您不需要jquery,則可以執行此操作(對於非常老的瀏覽器來說並不安全):

document.getElementsByTagName("span")
        .getElementsByClassName("savings")
        .forEach(function(el) { el.textContent = "25% sale" });

另一種方法是簡單地獲取價值,替換文本並將其重新設置。

 var o = $("span.savings"); o.text(o.text().replace("92", "25")); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <span class="savings">92% sale</span> 

你好試試這個

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
<span class="savings">92% sale</span>
<script>
    $("span.savings").text(function (i, v) {
        return v.replace("92", "25");
    });
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM