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

时间:2012-02-01 09:56:54

标签: jquery html

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

中有多个span标记
     <p>No Change<span style="color: #222222;">&nbsp;</span>
I love cricket<span style="color: #222222;">Cricket cricket&nbsp;</span></p>

3 个答案:

答案 0 :(得分:33)

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

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

Here is a working example(你会看到两个警告:字符串在开始时,字符串在结尾处)


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

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

答案 1 :(得分:0)

你可以试试这样的事情;

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吗?

答案 2 :(得分:0)

这样,您可以使用.contents()jquery方法(以下代码示例)保留跨度的内部文本:

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