Jquery:如何在保留文本的同时打开字符串的所有span标记

Jquery: How to unwrap all span tags for a string while keeping the text

本文关键字:字符串 标记 span 文本 保留 Jquery      更新时间:2024-05-18

我想知道如何在保留所有文本的同时打开字符串的所有span标记。

我的尝试:

<script>
mystr="<span id=1>firstword</span><span id=2>secondword</span>";
var element = $(mystr);//convert string to JQuery element
var result= element.find("span").contents().unwrap(); 
alert(result);
</script>

您的跨度没有嵌套在任何其他元素中。检查以下结果:

mystr="<div><span id=1>firstword</span><span id=2>secondword</span></div>";
var element = $(mystr);//convert string to JQuery element
var result= element.find("span").contents().unwrap(); 
alert(result);

问题是.find()函数将查找元素的子体。然而,您看到的是顶级元素。

为了分别获取每个文本节点,您可以执行以下操作来循环字符串中的每个跨度并提醒文本。

element.each(function(i, ele){
   alert($(ele).text())
});

您的unwrap()是正确的,但您需要element的内容。所以试试这个:

var mystr = "<span>firstword</span><span>secondword</span>";
var element = $('<div></div>').html(mystr);
alert(element.html());
element.find("span").contents().unwrap(); 
alert(element.html());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

您可以使用jquery的text()。ir替换您的标签

jsfiddle.net/7dw9zqs/