2

VisualForceページ(SalesForce関連)を使用していて、すべてがロードされた後にページ上のテキストを置き換えるJavaScriptを作成する必要があります。

私は次のことを試しました(ページの他の部分でjQueryを使用しているので、これにもjQueryを使用しました):

var j$ = jQuery.noConflict();
j$(document).ready(function()
{
  var replaced = $find("body").html().replace('Test', '1234');
  $("body").html(replaced);
});

残念ながら、何もしないようです。ページのHTMLコードを取得できないようなものです。これはForceプラットフォームで実行されているVisualForceページであるためだと思います。そのため、誰かがこれについて何か助けを提供してくれるなら、それは大いにありがたいです。

ありがとう。

PS変数によって提供され、dataTableヘッダーで使用されているHTML文字をエスケープ解除しようとしているため、VisualForceまたはApexを介してこれを実行できないため、なぜこれを実行しているのか疑問に思われる場合があります。残念ながら、dataTableヘッダー内のすべてが自動的にエスケープされます。

4

1 に答える 1

1

まず第一に、それは $.find() である必要がありますが、必要ではありません: セレクターの場合は単に $("body") です。

次に、1行で次のように記述できます。

$("body").html($("body").html().replace(/test/g, '1234'));

正規表現の /g に注目してください。これにより、最初のインスタンスだけでなく、test のすべてのインスタンスを置き換えることができるはずです。

ドキュメント準備完了イベントだけでなく、j$ を正確に使用する必要がある場合もあります。上記の行は $ ショートカットを使用しています。

于 2012-08-10T21:48:38.997 に答える