替换文本返回错误

时间:2017-03-21 11:40:43

标签: javascript jquery

我正在尝试替换嵌套div中的一些文本。但是,replace函数返回unrecognized expression。我尝试过很多东西,但我无法让它发挥作用。

 <div id="gui-checkout-shipment-methods">
   <div class="some-other-div">.... html content ....</div>                            
   <div class="gui-spacer"></div>
 * zzgl. Bei Lieferungen in das Nicht-EU-Ausland fallen zusätzliche Zölle, Steuern und Gebühren an
 </div>

所以我正在尝试替换该文本字符串* zzgl. Bei Lieferungen in das Nicht-EU-Ausland fallen zusätzliche Zölle, Steuern und Gebühren an

所以我尝试的是选择那样的文字:

 var content = $('#gui-checkout-shipment-methods').contents().filter(function() {
   return this.nodeType == 3;
 }).text();

然后用一个新字符串替换该字符串,如下所示:

 $(content).text(content.replace('* zzgl. Bei Lieferungen in das Nicht-EU-Ausland fallen zusätzliche Zölle, Steuern und Gebühren  ', 'zzgl. zusätzliche Zölle, Steuern und Gebühren, welche bei Lieferungen in das Nicht-EU-Ausland anfallen')); 

这会返回错误:

Error: Syntax error, unrecognized expression: * zzgl. Bei Lieferungen in das Nicht-EU-Ausland fallen zusätzliche Zölle, Steuern und Gebühren an

我认为这与被视为html的字符串有关?或者我犯了一个愚蠢的错误?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

请尝试使用.html()

var $myEl = $('#gui-checkout-shipment-methods');
$myEl.html($myEl.html().replace('* zzgl. Bei Lieferungen in das Nicht-EU-Ausland fallen zusätzliche Zölle, Steuern und Gebühren  ', 'zzgl. zusätzliche Zölle, Steuern und Gebühren, welche bei Lieferungen in das Nicht-EU-Ausland anfallen'));