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 如果有人想知道我为什么这样做是因为我无法通过 VisualForce 或 Apex 执行此操作,因为我试图对变量提供的一些 HTML 字符进行转义并在 dataTable 标头中使用。不幸的是,dataTable 标头中的所有内容都会自动转义。

4

1 回答 1

1

首先,它应该是 $.find() 但哼.. 也不是必需的:只需 $("body") 作为选择器。

然后在一行中你可以写:

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

注意正则表达式中的 /g ,它应该允许它替换所有测试实例,而不仅仅是第一个。

您可能还需要精确地使用 j$ 并在任何地方使用它,而不仅仅是用于文档就绪事件。上面的行使用 $ 快捷方式。

于 2012-08-10T21:48:38.997 回答