Código
$(function(){ var diccionario = {'Hola':'Hello','Mundo':'World','Que tal':'How are you'}; $('body *').each(function(){ // Conseguir el nodo. var nodo = this.firstChild; var viejos = []; // Solo reemplazar si se trata de nodos de texto. if(nodo!==null && nodo.nodeType===3){ // Obtener valor actual. var valor = nodo.nodeValue; // Por cada palabra en el diccionario... for(var palabra in diccionario){ // Si nuevo valor ya esta definido.. ya hemos hecho reemplazos antes. if(nuevo_valor!==undefined){valor=nuevo_valor;} // Reemplazar palabra/s. var nuevo_valor = valor.replace(palabra,diccionario[palabra]); } // Reemplazar realmente. $(nodo).before(nuevo_valor); // Poner viejos nodos en lista de eliminacion viejos.push(nodo); } // Eliminar nodos innecesarios. viejos.length && $(viejos).remove(); }); });
Incialmente.
Código
Al ejecutarse.
Código
Tenia algún que otro bug... creo que no pillaba los elementos directos.. pj: Asi: <body>Hola</body>, no actuaria.. y algo mas pero no me acuerdo xD.
Espero que te sirva.
Saludos