[英]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.