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

时间:2016-04-12 23:39:58

标签: javascript jquery html

我想知道如何在保留所有文本的同时打开字符串的所有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>

4 个答案:

答案 0 :(得分:1)

您遇到的问题是.find()函数会查看元素的后代。然而,你正在寻找顶级元素。

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

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

答案 1 :(得分:1)

您的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>

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

jsfiddle.net/7dew9zqs /