2011-08-25 14 views
6

Ho un testo generato automaticamente che include parentesi codificate non ASCII. Ad esempio:Come rimuovere una parentesi di testo utilizzando JQuery?

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

Voglio sbarazzarsi della parentesi. Ho il seguente, che io uso altrove per ripulire alcuni elementi HTML, ma non riesco a ottenere simili al lavoro per rimuovere il testo attuale:

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

ho trovato in giro un paio di idee, ma hanno a che fare con testo normale. Eliminare una parentesi è una sfida, perché non sono sicuro di come codificare la parentesi in modo che jQuery lo capisca.

Qualche idea?

+0

Vuoi eliminare le parentesi stesse o tutto ciò che contengono? –

+0

Sto solo cercando di abbandonare le parentesi, ma sembra che la risposta di Andy in basso includa anche il codice per nixare tutto il resto. Grazie per la risposta. – user624385

risposta

19

Si dovrebbe fare la sostituzione/pulizia con vaniglia Javascript. Qualcosa come

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

lo farà. Si noti che questo richiederebbe tutti i nodi <div> nell'intero lato, si desidera essere più specifici sul selettore.

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

Se desideri rimuovere la parentesi e tutto il resto, si sarebbe semplicemente necessario cambiare l'espressione regolare a /\(.*?\)/g.

+0

Funziona alla grande se l'intero div è testo, ma il div ha altri elementi in esso. Questi stanno per essere cancellati. Ad esempio, sul tuo sito di violino, aggiungi un elemento all'interno del div ... viene ignorato, con il quale intendo che non viene interpretato dal browser e mostrato come collegamento. – user624385

+0

@ user624385: Ho aggiornato il jsfiddle. Vedi http://jsfiddle.net/2gHh2/2/. Questo dovrebbe fare il lavoro genericamente per ogni childnode all'interno di un nodo principale. – jAndy

+0

Sì! La tua risposta a jsfiddle.net/2gHh2/2 è perfetta! Grazie mille signore! Ti ho pagato $ 5 per un caffè. Molto obbligato. – user624385

Problemi correlati