2017-03-21 12 views
-1

入れ子になっている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として扱われる文字列とは何かを持っていると思います?または私は間違ったミスをしますか?

大変助かりました。

+0

多分これは '$(この)は.text動作します(。$(この)は.textを())(置き換え)' –

答えて

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')); 
関連する問題