Javascript 去掉某些html标记并返回字符串的其余部分和所有其他标记
我有一个包含HTML标记的基本字符串。我想删除“span”标记及其所有内容,并返回字符串和html的其余部分 当我执行以下操作时,它返回“here”…这是匹配查询的内容…我想得到其他所有内容,而不是“span”内容…我做错了什么Javascript 去掉某些html标记并返回字符串的其余部分和所有其他标记,javascript,jquery,Javascript,Jquery,我有一个包含HTML标记的基本字符串。我想删除“span”标记及其所有内容,并返回字符串和html的其余部分 当我执行以下操作时,它返回“here”…这是匹配查询的内容…我想得到其他所有内容,而不是“span”内容…我做错了什么 var-temp='Some text更多文本此处甚至更多'; var clean_temp=$(temp.find('span').remove(); var$temp=$(clean_temp.html()//返回“此处” 警报($temp);//“此处” 您可以
var-temp='Some text更多文本此处
甚至更多';
var clean_temp=$(temp.find('span').remove();
var$temp=$(clean_temp.html()//返回“此处”
警报($temp);//“此处”
您可以将其替换为空字符串:
var temp = `
<div>Some text</div>
<p style="color:red">
More text <span>here</span>
</p>
<p>
Even more
<span>here as well</span>
</p>`;
// The modifier g looks global, not just the first hit and i is for case-insensitive
var expression = new RegExp(/<span(.*?)<\/span>/gi) // no closing '>' for elements with attributes
var clean_temp = temp.replace(expression, '')
console.log(clean_temp);
var-temp=`
一些文本
这里有更多的文字
甚至更多
这里也是
`;
//修饰符g看起来是全局的,而不仅仅是第一次命中,i不区分大小写
var expression=new RegExp(/jQueryremove()
函数删除和项,然后返回删除的项,正如您已经发现的那样。删除该项的对象仍然存在,其内容已修改
同样在本例中,由于源字符串的性质,对源字符串执行$()
操作将返回一个jQuery集合,该集合封装了3个独立的DOM元素
在该集合上修改这些包装的DOM元素的中间部分。要重建HTML,我们必须从每个包装的DOM元素生成HTML,然后将所有这些HTML部分连接在一起
为此,我创建了一个helper函数getHtml()
,请参见演示:
函数getHtml(jqueryObj){
返回jqueryObj.toArray().map(el=>el.outerHTML.join(“”);
}
var temp='Some text更多文本此处
甚至更多'; 变量$temp=$(temp); log(getHtml($temp)); $temp.find('span').remove(); console.log(getHtml($temp));
好的,谢谢你…我应该包括一个更具体的东西。我必须使用的选择器是“ui multiselect”。我需要替换所有具有类“ui multiselect”的html标记…需要如何编写RegExp来完成这一点?谢谢,这非常有效…谢谢你的帮助!