私は、DOMに含まれるテキスト文字列 "Tony"を検索し、それをテキスト文字列 "Tiger"に置き換える解決策を見つけようとしています。テキストを検索してjQueryを使用して置換する方法
誰でもどのように洞察力やアイデアを持っているのですか?それを推測すると、それぞれのステートメントはreplace関数と組み合わされ、おそらく含まれていますか?
おかげ ジェイク
私は、DOMに含まれるテキスト文字列 "Tony"を検索し、それをテキスト文字列 "Tiger"に置き換える解決策を見つけようとしています。テキストを検索してjQueryを使用して置換する方法
誰でもどのように洞察力やアイデアを持っているのですか?それを推測すると、それぞれのステートメントはreplace関数と組み合わされ、おそらく含まれていますか?
おかげ ジェイク
あなたはそれがjQueryのを使用しています
$('body').children().each(function(){$(this).text($(this).text().replace('Tony','Tiger'))});
... body要素のすべての子を検索し、テキストを置き換えるためにこれを使用することができます。また、唯一のあなたはまた、正規表現を使用し、すべてのネストされた要素を取得します。このメソッドを使用することができます...
を要素と書式設定HTMLのなしのテキスト内容を変更する必要があります。
$('body').html($('body').html().replace(/Tony/gi,'tiger'));
'children()'はDOMを再帰的に検索しないため、これは機能しません。 –
私のページでは動作しません:http://www.laithwaiteswine.com $( '。container')children()。each(function(){$(this).text() .replace( 'Laithwaites'、 'Tiger'))}); - すべてのDOMを削除しているか、またはそれを壊しています。 – jrutter
@jrutter:あなたのコードを見ずになぜあなたに起こっているのか分かりません。しかし、私は、RegExpのアプローチを使用して、私の解決策を変えました---> $( 'body').html($( 'body').html()。replace(/ Tony/gi、 'tiger') ); – exoboy
ページ広い、あなたはこのようなものを使用することができます
var $body = $('body');
var html = $body.html();
var newHtml = html.replace('Tony', 'Tiger');
$body.html(newHtml);
それとも、あなたはより具体的なコンテナを持っている場合、その子コンテナを選択し、同じことを行うためにはjQueryを使用します。
いずれにせよ、それはショットガンアプローチの一種です。これは、可視のtext属性とhtml要素属性の両方の文字列を変更します。特定の場所で文字列を無視する必要がある場合は、より詳細なアプローチが必要な場合があります。
これは動作しません、ページ全体がリロードされます。 – jrutter
はそれが可能ですこれをサーバー側のソリューションと組み合わせることはできますか? <span class="replaceme">texttoreplace</span>
のような特別なクラスを使用して、単語サーバー側のすべての現象をラップすることができます。
結果のクラスでjavascript replaceを実行するだけで処理が速くなります。
+1は、DOMでテキストを検索するよりはるかに優れています。 –
これが可能であれば、彼はなぜサーバー側の文字列を置き換えて始めませんでしたか?不要なDOM要素を追加するのは余計なようです – ximi
詳細をご覧ください。あなたはDOMのどこにいても構いませんか?あなたがどこにいても、「Tony」のすべての出現を「Tiger」に置き換えたいですか? –
あなたはそれのhtmlコンテナですか?またはそのまっすぐのすべてを置換する – kobe
はい、私は "Tony"のすべての出現を "Tiger"と置き換えたいと思います。 – jrutter