Удалить тег span в строке с помощью jquery

Как удалить тег span из строки, используя jquery? У меня есть несколько тегов span в строковой переменной

     <p>No Change<span style="color: #222222;">&nbsp;</span>
I love cricket<span style="color: #222222;">Cricket cricket&nbsp;</span></p>

2 ответа

Решение

Если это определенно просто хранится как строка, вы можете сделать следующее...

var element = $(myString);//convert string to JQuery element
element.find("span").remove();//remove span elements
var newString = element.html();//get back new string

если на самом деле это уже отображается HTML на вашей странице, просто сделайте...

$("span").remove();//remove span elements (all spans on page as this code stands)

Если вы хотите сохранить содержимое тега span, вы можете попробовать это...

var element = $(myString);//convert string to JQuery element
element.find("span").each(function(index) {
    var text = $(this).text();//get span content
    $(this).replaceWith(text);//replace all span with just content
});
var newString = element.html();//get back new string

Вот рабочий пример (вы увидите два предупреждения: строка в начале, строка в конце)


Вы также можете просто сделать это, чтобы получить нужный вам результат:

var justText = $(myString).text();

Таким образом, вы можете сохранить внутренний текст диапазона, используя метод jquery.contents() (пример моего кода ниже):

$('#navc-22 > a > span').contents().unwrap();

Вы можете попробовать что-то вроде этого;

var theString = '<p>No Change<span style="color: #222222;">&nbsp;</span>I love cricket<span style="color: #222222;">Cricket cricket&nbsp;</span></p>';
$(theString).wrap('<div />').find('span').remove();

... или вы хотели бы сохранить внутренний HTML?

Другие вопросы по тегам