Javascript 如何删除html标记(span)仅使用特定类名包装,而不从字符串中删除内部内容?

Javascript 如何删除html标记(span)仅使用特定类名包装,而不从字符串中删除内部内容?,javascript,jquery,string,Javascript,Jquery,String,我想从字符串中删除一些不需要的标记,以便将干净的字符串存储到数据库中 我试图将字符串与正则表达式联系起来。 这就是我尝试过的-- var data='Donec rutrum congue leo eget malesuada。Mauris blandit aliquet elit,eget malesuada.' 我想删除所有的span标记,它的类名以“不需要的span-”开头,它应该只删除标记包装,而不删除内容内的标记包装 因此,所需的输出应如下所示 var data = '<p&g

我想从字符串中删除一些不需要的标记,以便将干净的字符串存储到数据库中

我试图将字符串与正则表达式联系起来。 这就是我尝试过的--

var data='Donec rutrum congue leo eget malesuada。Mauris blandit aliquet elit,eget malesuada.

'
我想删除所有的span标记,它的类名以“不需要的span-”开头,它应该只删除标记包装,而不删除内容内的标记包装

因此,所需的输出应如下所示

var data = '<p>Donec rutrum congue leo eget malesuada. <span>Mauris</span> blandit aliquet elit, eget malesuada.</p>'
var data='Donec rutrum congue leo eget malesuada。Mauris blandit aliquet elit,eget malesuada.

'

请注意--我们只需要删除带有“不需要的span-”类名称开头的span标记,其他span应保持原样。

您可以像这样使用start with运算符:

var allData = $('.all').find("span[class^='unwanted-span']").css('color','blue');
我编辑你的代码笔容器

要删除,请使用以下命令:

var allData = $('.all').find("span[class^='unwanted-span']").remove(); 
要展开跨距文本,请使用以下命令:

var allData = $('.all').find('span[class^="unwanted-span-"]').contents().unwrap();

console.log($('.all').html());
你可以简单地使用

var allData = $('*[class^="unwanted-span-"]').contents().unwrap();
console.log($(".all").html())
如果不想更改HTML,可以尝试以下方法:

var match = $('*[class^="unwanted-span-"]').get(0);
var test = $('p').html().replace(match.outerHTML,match.innerHTML);
console.log( test );

当然,如果您有多个匹配项,则必须迭代所有匹配项:)

感谢您的研究,但我需要删除这些跨度。请查看描述中所需的输出。很简单,将css('color','blue')更改为remove()。var allData=$('.all').find(“span[class^='Understand-span']).remove();是的,我也试过那个。但是remove()将删除整个标记及其内容。我只想删除span的内部内容,而不是内部内容。span的内容不应被删除。好的,您可以使用simpe this
var allData=$('p').text()console.log(''+allData+'

')检查代码笔。
var allData=$('.all').find('span[class^=“不需要的span-”]).contents().unwrap();log($('.all').html())var data='Donec rutrum congue leo eget malesuada。Mauris blandit aliquet elit,eget malesuada.

'
我想把上面的字符串转换成这个--
var data='Donec rutrum congue leo eget malesuada。Mauris blandit aliquet elit,eget malesuada。

删除span wrap,它有“不需要的span-”类名,但内部内容保持不变。在这个问题中,我没有提到DOM。请看标题,我已经清楚地提到字符串。我需要使用jQuery来处理这个问题,所以我不得不提到它。
var match = $('*[class^="unwanted-span-"]').get(0);
var test = $('p').html().replace(match.outerHTML,match.innerHTML);
console.log( test );