24

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

     <p>No Change<span style="color: #222222;">&nbsp;</span>
I love cricket<span style="color: #222222;">Cricket cricket&nbsp;</span></p>
1
  • ...include the value of your string variable Commented Feb 1, 2012 at 9:58

3 Answers 3

46

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...

$("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...

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();
Sign up to request clarification or add additional context in comments.

5 Comments

I only want to remove span tag not its contents(text). Result of above string should be like "No Change &nbsp; I love cricket Cricket cricket&nbsp;"
@kashifilyaz: See my edit, I am just going to test this with a JSFiddle and will update with results
jsfiddle.net/kashifilyaz/GEFWG could you please check this,why alert show nothing.I used your demo just replace html.
In your working example,In 2nd alert <p> tag is not shown and one other thing if more then two p tags in inside div then 2nd alerts shows only 1st p tag.could you please check this
Your second example will strip <br> tags out of the span.
2

This way you can keep inner text of the span by using .contents() jquery method (example of my code below):

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

Comments

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?

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.