使用jquery删除字符串中的span标记

时间:2021-05-12 20:30:03

How to remove span tag from string using jquery? I have multiple span tag in string variable

如何使用jquery从字符串中删除span标记?我在字符串变量中有多个span标记

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

2 个解决方案

#1


30  

If this is definitely just stored as a string you can do the following...

如果这肯定只是存储为字符串,您可以执行以下操作...

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

if in fact this is already rendered html in your page then just do...

如果实际上这已经在你的页面中呈现了html那么就是......

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

If you want to keep the contents of the span tag you can try this...

如果你想保留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

Here is a working example (you will see two alerts: string at start, string at end)

这是一个工作示例(您将看到两个警报:字符串在开始,字符串在结尾)


You can also just do this which might get the result you need:

您也可以这样做,这可能会得到您需要的结果:

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

#2


0  

You could try something like this;

你可以尝试这样的事情;

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();

...or would you like to keep it´s inner HTML?

...或者你想保留它内在的HTML?

#1


30  

If this is definitely just stored as a string you can do the following...

如果这肯定只是存储为字符串,您可以执行以下操作...

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

if in fact this is already rendered html in your page then just do...

如果实际上这已经在你的页面中呈现了html那么就是......

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

If you want to keep the contents of the span tag you can try this...

如果你想保留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

Here is a working example (you will see two alerts: string at start, string at end)

这是一个工作示例(您将看到两个警报:字符串在开始,字符串在结尾)


You can also just do this which might get the result you need:

您也可以这样做,这可能会得到您需要的结果:

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

#2


0  

You could try something like this;

你可以尝试这样的事情;

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();

...or would you like to keep it´s inner HTML?

...或者你想保留它内在的HTML?