jquery buscar y reemplazar texto, sin id de elemento

Estoy jugando con encontrar y reemplazar texto.

El único problema que tengo es encontrar una cadena de texto, que no esté adjunta a un elemento con una ID. De lo contrario, sería fácil.

Estoy intentando algo como esto:

$("*").each(function () { $(this).html(this.html().replace('Original Text','New Text')); }); 

No funciona muy bien.
¿Alguien se ha encontrado con esto antes?

Además, si tengo varias palabras o frases para buscar y reemplazar, ¿cómo afecta eso la velocidad / capacidad de procesamiento del navegador del usuario? ¿Es un cerdo de memoria?

 $("*").contents().each(function() { if(this.nodeType == 3) this.nodeValue = this.nodeValue.replace("old", "new"); }); 

Takpar, tu código también funciona. Parece que deja de funcionar algunas otras cosas, pero solo los elementos que estoy extrayendo dinámicamente. Por ejemplo, cuando estoy usando .ajax() . No estoy seguro de por qué, pero es por eso que me encontré. Voy a probar más.

En un tema relacionado, el código de Gumbo funciona:

 $("*").each(function () { if ($(this).children().length == 0) { $(this).text($(this).text().replace('Subject:','Name:')); } }); 

Lo único con lo que estoy teniendo problemas es con la sustitución del texto que se carga después de que se carga la página.

Tengo algunas funciones de javascript que muestran datos del servidor, pero solo después de que la página haya cargado todos los elementos. Por ejemplo, un usuario selecciona un valor de un menú desplegable que inicia un evento para cargar una lista de productos de la base de datos.

Formateo algunos de esos productos como este:

 Granny Smith Apples Price: x.xx per pound Nutritional facts.... 

Solo querré encontrar un reemplazo de la palabra “Precio:”, y posiblemente reemplazarlo con “Costo:”.

Pero como mencioné, esos datos aún no se han cargado.

¿Hay un límite con el que tengo que vivir?

¿Por qué no usas simplemente?

 $('body').html($('body').html().replace('Original Text','New Text')); 

Desea que el selector :contains() . http://api.jquery.com/contains-selector/

 $("*:contains('Original Text')").each(...); 
 $("*").each(function () { if ($(this).children().length == 0){ $(this).html($(this).html().replace(/Old String/g, "New String")); }});