Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] El método .replace() no funciona en el código

Estas en el tema de El método .replace() no funciona en el código en el foro de Javascript en Foros del Web. Hola a todos. Estoy desarrollando un pequeño proyecto y estaba probando primero como funcionaría una parte del código pero simplificado. El HTML es el siguiente: ...
  #1 (permalink)  
Antiguo 19/04/2014, 15:02
Avatar de blancoarnau  
Fecha de Ingreso: junio-2013
Mensajes: 119
Antigüedad: 10 años, 10 meses
Puntos: 0
El método .replace() no funciona en el código

Hola a todos. Estoy desarrollando un pequeño proyecto y estaba probando primero como funcionaría una parte del código pero simplificado. El HTML es el siguiente:

Código HTML:
Ver original
  1. <div id="demo"><b>I'M AWESOME</b></div>
  2.   <button onClick="something()">CLICK</button>

Y el script:

Código Javascript:
Ver original
  1. function something(){
  2.   var h = document.getElementById("demo").innerHTML;
  3.   var bbold = /<b>[\w\W]*<\/b>/;
  4.   var o = bbold.exec(h);
  5.   alert(o.replace(/(<b>|<\/b>)/g,''));
  6. }
Como podrán comprobar aquí, no funciona.

Mi intención es coger el texto que hay en el div "demo", sacarle las etiquetas bold (<b> y </b>) para quedarme solo con el texto "I'M AWESOME" y mostrarlo en un alert. ¿Cuál es el error del código? Si me podéis ayudar lo agradecería mucho :)

Última edición por blancoarnau; 19/04/2014 a las 15:17
  #2 (permalink)  
Antiguo 19/04/2014, 15:32
 
Fecha de Ingreso: abril-2014
Mensajes: 32
Antigüedad: 10 años
Puntos: 0
Respuesta: El método .replace() no funciona en el código

Código Javascript:
Ver original
  1. function something(){
  2.   var h = document.getElementById("demo").innerHTML;
  3.   var bbold = /<b>[\w\W]*<\/b>/;
  4.   o = bbold.exec(h);
  5.   o = o.toString();
  6.   o = o.replace('<b>','');
  7.   o = o.replace('</b>','');
  8.   alert(o);
  9. }
  #3 (permalink)  
Antiguo 19/04/2014, 15:38
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: El método .replace() no funciona en el código

buenas,
la variable o no es un string. exec funciona de forma similar a match. solo que en lugar de devolver todas las posibles coincidencias, exec crea un array donde el primer elemento es la coincidencia en general, y el resto de los elementos son las coincidencias de las subexpresiones (si existen en el patrón). en adición, el array contiene dos propiedades: index e input. en el ejemplo tal como lo tienes, tendrias que anteponer el índice del array antes de la función replace. o[0].replace(...);
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 19/04/2014, 15:52
Avatar de blancoarnau  
Fecha de Ingreso: junio-2013
Mensajes: 119
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: El método .replace() no funciona en el código

Entendido. Muchas gracias. Por cierto, siento que el enlace esté diferente. Es que al principio lo había hecho así pero después pensé en cambiarlo aunque el enlace se me olvidó. GRACIAS IGUALMENTE :D

Etiquetas: funcion, html, js, replace
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:52.