検索して jquery に置き換えたい文字の配列があります。配列は次のとおりです。
var f = ['“','â€','‘'','’','…','—','–'];
var r = ['"','"',"'","'","...","-","-"];
私はいくつかの異なるアイデアを試しましたが、何も機能していません。ここで作業するためにフィドルをセットアップします:
助言がありますか?
検索して jquery に置き換えたい文字の配列があります。配列は次のとおりです。
var f = ['“','â€','‘'','’','…','—','–'];
var r = ['"','"',"'","'","...","-","-"];
私はいくつかの異なるアイデアを試しましたが、何も機能していません。ここで作業するためにフィドルをセットアップします:
助言がありますか?
この特定のサンプルでは、問題は置換関数ではなく、jquery セレクターにあります。$(this) を $('body') に置き換えると機能します。そうは言っても、ページ全体の HTML を文字列にコピーし、それを置き換えてから、その文字列を本体に戻すことが最も効率的かどうかはわかりません。おそらく、コンテンツ内の p タグのように、より小さな部分に絞り込むことができます。おそらく、クラスでラベルを付けて、置換から他の p タグを排除できます。
あなたはそれを正しくやっています。:)
あなたのフィドルではセレクター$(this)
が間違っていたので、テキストがありませんでした。代わりに、要素または本体全体の ID を使用できます。さらに、テキストを dom にリセットするのを忘れていました。交換自体は順調です。
var text = $('#wfmrdablogspot').html();
var f = ['“', 'â€', '‘', '’', '…', '—', '–'];
var r = ['"', '"', "'", "'", "...", "-", "-"];
text = text.replaceArray(f, r);
$('#wfmrdablogspot').html(text);
$(this).html()
機能しないいくつかの基本的なデバッグ ショー(this
現在のウィンドウとして解決されます)。$(document.body)
代わりに使用してください。
var html = $(document.body).html();
var f = ['“', 'â€', '‘', '’', '…', '—', '–'];
var r = ['"', '"', "'", "'", "...", "-", "-"];
var newHtml = html.replaceArray(f, r);
$(document.body).html(newHtml);
http://jsfiddle.net/npGRF/3/を参照してください