Ciao a tutti, volevo sapere se era possibile eliminare un tag HTML senza eliminare il contenuto. Faccio un esempio:
stringa = "
prova</p>";
stringa = "prova";
Ho provato con parentNode.removeChild() ma elimina anche il contenuto.
Ciao a tutti, volevo sapere se era possibile eliminare un tag HTML senza eliminare il contenuto. Faccio un esempio:
stringa = "
prova</p>";
stringa = "prova";
Ho provato con parentNode.removeChild() ma elimina anche il contenuto.
Se il Tag è conosciuto, sai che è un P :
Certo che se però interviene un <p class="capo"> non lo riconosce.codice:<script type="text/javascript"> stringa = " prova</p>"; alert(stringa); stringa = stringa.replace(/ /, ""); stringa = stringa.replace(/<\/p>/, ""); alert(stringa); </script>
Si può rendere il replace() global e case-insensitive :
stringa = stringa.replace(/
/gi, "");
Il contenuto di un tag puoi estrarlo con il metodo innerHTML:Originariamente inviato da newlink
Ciao a tutti, volevo sapere se era possibile eliminare un tag HTML senza eliminare il contenuto. Faccio un esempio:
stringa = "
prova</p>";
stringa = "prova";
Ho provato con parentNode.removeChild() ma elimina anche il contenuto.
codice:var contenuto=elementObj.innerHTML;
Ciao, ho provato ha scrivere questo:
Il tag con la classe viene sovrascritto con il suo contenuto, il problema è che perdo anche tutto il resto del testocodice:var elems = show_frame("editArea").getElementsByTagName('*'), i; for(i in elems) { if((' '+elems[i].className+' ').indexOf('light')> -1) { elems[i].parentNode.innerHTML=elems[i].innerHTML; } }come posso risolvere?
Che intendi con "tutto il resto del testo"?
Ad esempio, ho una stringa così costituita:
"
prova <span class="light">ricerca</span> prova</p>"
Dopo il passaggio di quella funzione dovrei avere:
"prova ricerca prova"
invece ho:
"ricerca"
Il parentNode dello span è il tag p.
codice:var elems = show_frame("editArea").getElementsByTagName('*'), i; for(i in elems) { if((' '+elems[i].className+' ').indexOf('light')> -1) { var newT = document.createTextNode(elems[i].innerHTML); elems[i].parentNode.replaceChild(newT,elems[i]); } }
Ciao grazie mille per la risposta, ma credo che ci sia un errore, se scrivo:
<span class="light">aa</span> <span class="light">aa</span> <span class="light" >aa</span></p>
Mi sostituisce correttamente il primo e l'ultimo span ma non quello centrale, sai dirmi il perché?
Sei certo che non venga sostituito?Originariamente inviato da newlink
Ciao grazie mille per la risposta, ma credo che ci sia un errore, se scrivo:
<span class="light">aa</span> <span class="light">aa</span> <span class="light" >aa</span></p>
Mi sostituisce correttamente il primo e l'ultimo span ma non quello centrale, sai dirmi il perché?
ll replace avviene sul nodo specifico elms[i], non vedo perchè debba avvenire per il primo ed il terzo e non per il secondo.
Ciao, ne sono abbastanza sicuro ti mando un mp con il link della pagina