Ver Mensaje Individual
  #5 (permalink)  
Antiguo 13/02/2014, 13:12
bathorz
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 meses
Puntos: 29
Respuesta: Buscar palabra en div que no pertenezca a una etiqueta

Atendiendo a la finalidad tenía esta idea:
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2.    <head>
  3.       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4.       <title></title>
  5.       <style type="text/css">
  6.          .clase1{color: red;}
  7.          .clase2{color: blue;}
  8.          .clase3{color: lime;}
  9.       </style>
  10.       <script type="text/javascript">
  11.          window.onload = function() {
  12.             var eDiv = document.getElementById('textoid');
  13.             var texto = '';
  14.             var clase = '';
  15.             for (var i = 0; i < eDiv.childNodes.length; i++) {
  16.               // span
  17.               if (eDiv.childNodes[i].nodeName === 'SPAN') {
  18.                  clase = eDiv.childNodes[i].className;
  19.                  cadena = eDiv.childNodes[i].innerHTML;
  20.                  texto += '<span class=' + clase + '>' + cadena + '</span>';
  21.                }
  22.                // Lo que no sea span
  23.                if (eDiv.childNodes[i].nodeName !== 'SPAN') {
  24.                   cadena = eDiv.childNodes[i].nodeValue;
  25.                   texto += cadena.replace(/texto/, '<span class="clase3">texto</span>');
  26.                }
  27.             }
  28.             document.getElementById("rst").innerHTML = texto;
  29.          }
  30.       </script>
  31.    </head>
  32.    <body>
  33.       <div id="textoid">
  34.          Hola, este texto es una prueba, <span class="clase1"> la prueba consiste </span>
  35.          en reemplazar <span class="clase2">este texto.</span> Por otro texto.
  36.       </div>
  37.       <div id="rst"></div>
  38.    </body>
  39. </html>