JavaScriptを使用してサイトのinnerHTMLを置き換えるのに役立つ一連の関連する質問を検索しましたが、ほとんどはテキストのIDまたはクラスを対象としています。しかし、私はスパンタグまたはtdタグの内側にある可能性があります。ウェブページにコード以外のテキストを置き換えます
$("body").children().each(function() {
$(this).html($(this).html().replace(/\$/g,"%"));
});
上記のコードの問題は、私はランダムにロードされたページ上のいくつかのコードアーティファクトやその他の問題を参照してくださいということです。私は最終的に以下のコードを動作させるために、いくつかのリソースを集めることができました。私はそれが何かを持っていると思うウェブサイトのコードの複数の "$"部分があると上記のスクリプトは%に変換しているので、物事を破る。JavaScriptまたはJqueryを使用して
コードを変更する方法はありますかJavaScript/jQuery)を使用してコード要素に影響せず、表示されるテキストのみを置き換えます(つまり、ここでは<)。
ありがとうございます!
---編集---
私はいくつかの他のコードとの競合を取得していた理由は、このエラーのことであるように見えます「キャッチされない例外TypeError:プロパティを読み取ることができません 『のinnerText』未定義の」。だから私はinnerTextを持っていないいくつかの要素があると推測しています(正規表現の基準を満たしていないにもかかわらず)、他のインラインスクリプトコードも壊れてしまいます。
正規表現を満たしていない場合や、未定義の場合は置き換えないと、.replaceを試しないようにコードを追加または変更できるものはありますか?
ありがとう、これは役に立ちます。しかし、私はまだ置き換えられていない場所の問題を抱えています。 1)フォーム内にテキストの入ったウィンドウがあるとき2)追加のデータを開くページ上のボタンがあり、その一部にシンボルを置き換える必要があります。内部のフォームをチェックするためにコードに行うことができるものがありますか?また、ページに変更があった場合(つまり、ロードするデータをクリックするとボタンがクリックされた場合)、スクリプトを再実行して(ページをリロードせずに)ありがとう! – Yevgen
「フォーム内にテキストのあるウィンドウがある場合」ここでどのHTML構造について話しているのかをもっと明示できますか?上記のフォームでうまくいくはずですので、ここで何がうまくいかないのか分かりません。 –
"追加のデータを開くページ上にボタンがあります"これも、あなたが話していることを完全にはわかりません。上記のスクリプトを実行した後に新しいページデータを読み込む場合は、そのページデータに対してスクリプトを再実行する必要があります。これは、最初の場所でページを更新しているスクリプトの成功コールバックの一部として、ページの変更された部分の親要素に対してこのスクリプトを呼び出すことによって最も簡単に実行されます。 –