Если вам нужно удалить HTML, но вы не знаете, содержит ли он какие-либо HTML-теги, вы не можете напрямую использовать метод jQuery, поскольку он возвращает пустую оболочку для текста, отличного от HTML.
$('<div>Hello world</div>').text(); //returns "Hello world"
$('Hello world').text(); //returns empty string ""
Вы должны либо обернуть текст в действительный HTML:
$('<div>' + 'Hello world' + '</div>').text();
Или используйте метод $ .parseHTML () (начиная с jQuery 1.8), который может обрабатывать как HTML, так и не HTML текст:
var html = $.parseHTML('Hello world'); //parseHTML return HTMLCollection
var text = $(html).text(); //use $() to get .text() method
Плюс parseHTML полностью удаляет теги скрипта, что полезно в качестве защиты от взлома для пользовательских вводимых данных.
$('<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"