用jquery替换文本?

时间:2014-12-22 16:41:32

标签: jquery replace

我需要使用jquery来替换这个

<h3 class="pseudo-breadcrumb-total-results">
    "Se han encontrado " <em>23</em> " productos"
</h3>

<h3 class="pseudo-breadcrumb-total-results">
    "Found " <em>23</em> " products"
</h3>

我试过,但没有工作:

$('.pseudo-breadcrumb-total-results').each(function() {
    var text = $(this).text();
    $(this).text(text.replace('"Se han encontrado "', '"Found "'));
    $(this).text(text.replace('" productos"', '"products "'));

});

2 个答案:

答案 0 :(得分:1)

这可以通过使用.html()的回调函数来实现:

$('.pseudo-breadcrumb-total-results').html(function() {
    return $(this).html().replace('"Se han encontrado "', '"Found "').replace('" productos"', '"products "');
});

$('.pseudo-breadcrumb-total-results').html(function() {
  return $(this).html().replace('"Se han encontrado "', '"Found "').replace('" productos"', '"products "');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h3 class="pseudo-breadcrumb-total-results">
    "Se han encontrado " <em>23</em> " productos"
</h3>

<h3 class="pseudo-breadcrumb-total-results">
    "Se han encontrado " <em>25</em> " productos"
</h3>

答案 1 :(得分:1)

使用.html而不是.text。否则,您将丢失HTML格式。

&#13;
&#13;
$('.pseudo-breadcrumb-total-results').html(function(i, oldhtml) {
  return oldhtml.replace('"Se han encontrado "', '"Found "').replace('" productos"', '"products "');
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h3 class="pseudo-breadcrumb-total-results">
    "Se han encontrado " <em>23</em> " productos"
</h3>
&#13;
&#13;
&#13;

我还使用.html的函数参数,因此我不需要使用.each