繁体   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