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