Se è necessario rimuovere il codice HTML, ma non sa se contiene in realtà nessun tag HTML, non è possibile utilizzare il metodo di jQuery direttamente perché restituisce involucro vuoto per il testo non HTML.
$('<div>Hello world</div>').text(); //returns "Hello world"
$('Hello world').text(); //returns empty string ""
È necessario sia avvolgere il testo in HTML valido:
$('<div>' + 'Hello world' + '</div>').text();
O uso metodo $ .parseHTML() (dal jQuery 1.8) in grado di gestire sia HTML e non HTML testo:
var html = $.parseHTML('Hello world'); //parseHTML return HTMLCollection
var text = $(html).text(); //use $() to get .text() method
Plus parseHTML rimuove completamente i tag di script che è utile come protezione anti-hacking per gli input dell'utente.
$('<p>Hello world</p><script>console.log(document.cookie)</script>').text();
//returns "Hello worldconsole.log(document.cookie)"
$($.parseHTML('<p>Hello world</p><script>console.log(document.cookie)</script>')).text();
//returns "Hello world"
fonte
2014-11-21 09:46:37
possibile duplicato del [Striscia HTML dal testo JavaScript] (http://stackoverflow.com/questions/822452/strip-html-from-text-javascript) – Clive