Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 去掉某些html标记并返回字符串的其余部分和所有其他标记_Javascript_Jquery - Fatal编程技术网

Javascript 去掉某些html标记并返回字符串的其余部分和所有其他标记

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);//“此处” 您可以

我有一个包含HTML标记的基本字符串。我想删除“span”标记及其所有内容,并返回字符串和html的其余部分

当我执行以下操作时,它返回“here”…这是匹配查询的内容…我想得到其他所有内容,而不是“span”内容…我做错了什么

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(/jQuery
remove()
函数删除和项,然后返回删除的项,正如您已经发现的那样。删除该项的对象仍然存在,其内容已修改

同样在本例中,由于源字符串的性质,对源字符串执行
$()
操作将返回一个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来完成这一点?谢谢,这非常有效…谢谢你的帮助!