2011-08-25 11 views
6

Tengo texto generado automáticamente que incluye paréntesis no codificados en ASCII. Por ejemplo:¿Cómo elimino un paréntesis de texto usando JQuery?

<div> Some text (these are the non-ascii encoded parenthesis). 
<div> 

Quiero deshacerme del paréntesis. Tengo el siguiente, que yo uso en otros lugares para limpiar algunos elementos HTML, pero no puedo obtener similar a trabajar para eliminar el texto real:

 jQuery(document).ready(function(){jQuery(".block").find("p").remove()}); 

he encontrado algunas ideas alrededor, pero con los que tratan texto normal Deshacerse de un paréntesis es un desafío, ya que no estoy seguro de cómo codificar el paréntesis para que jQuery lo entienda.

¿Alguna idea?

+0

¿Desea deshacerse de los paréntesis o de todo lo que contienen también? –

+0

Solo estoy tratando de deshacerme de los paréntesis, pero parece que la respuesta de Andy a continuación incluye código para eliminar todo lo que esté en medio también. Gracias por responder. – user624385

Respuesta

19

Debe hacer la sustitución/limpieza con vainilla Javascript. Algo así como

$('div').text(function(_, text) { 
    return text.replace(/\(|\)/g, ''); 
}); 

lo hará. Tenga en cuenta que esto buscará todos los nodos <div> en todo el lado, quiere ser más específico en el selector.

demo: http://jsfiddle.net/2gHh2/

Si desea quitar el paréntesis y todo lo demás, usted simplemente tiene que cambiar la expresión regular a /\(.*?\)/g.

+0

Eso funciona muy bien si todo el div es texto, pero el div tiene otros elementos. Estos están siendo borrados. Por ejemplo, en su sitio de violín, agregue un elemento dentro del div ... se ignora, lo que significa que el navegador no lo interpreta y se muestra como un enlace. – user624385

+0

@ user624385: He actualizado el jsfiddle. Ver http://jsfiddle.net/2gHh2/2/. Eso debería hacer el trabajo genéricamente para cualquier nodo secundario dentro de un nodo principal también. – jAndy

+0

¡Sí! ¡Su respuesta en jsfiddle.net/2gHh2/2 es perfecta! ¡Muchas gracias señor! Te pagué $ 5 por un café. Muy agradecido. – user624385

Cuestiones relacionadas