Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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 尝试使用jquery从元素中删除所有html_Javascript_Jquery_Html - Fatal编程技术网

Javascript 尝试使用jquery从元素中删除所有html

Javascript 尝试使用jquery从元素中删除所有html,javascript,jquery,html,Javascript,Jquery,Html,我有一个DIV元素,其中填充了一堆要删除的HTML实体: <div class="text"> <p>&lt;p&gt;&#8203;&lt;span style="line-height:25px;"&gt;&#8203;&lt;/span&gt;&lt;span style="line-height:25px;"&gt;&#8203;Hej hop!&lt;/span&am

我有一个DIV元素,其中填充了一堆要删除的HTML实体:

<div class="text">
<p>&lt;p&gt;&#8203;&lt;span style="line-height:25px;"&gt;&#8203;&lt;/span&gt;&lt;span style="line-height:25px;"&gt;&#8203;Hej hop!&lt;/span&gt;&nbsp;&lt;span style="line-height:25px;"&gt;&#8203;&lt;/span&gt;&lt;span</p>
</div>
我正在使用jQuery并创建此代码,但它不起作用:

$('.text').each(function () {
    $(this).replace(/<\/?[a-z][a-z0-9]*[^<>]*>/ig, "");
});
我试图用短语Hej-Hop!替换文本

正则表达式没有错

以下是我在其他页面上的做法:

    text = text.replace(/<\/?[a-z][a-z0-9]*[^<>]*>/ig, "");
但这是一个javascript函数,其中包含返回文本的参数。。但是在这个特定的页面上,我需要使用jquery和迭代并检查

问题已解决:

$('text').each(function () {
    $(this).html(function (i, v) {
        return $('<div>').html(v).text();
    });
});
你只需要:

$('.text').empty();
编辑-如果要从元素内容中删除标记,最简单的方法是按照Marc B在注释中的建议:

$('.text').each(function() {
  $(this).text($(this).text());
});
你只需要:

$('.text').empty();
编辑-如果要从元素内容中删除标记,最简单的方法是按照Marc B在注释中的建议:

$('.text').each(function() {
  $(this).text($(this).text());
});

这些是Ascii码,所以正则表达式是:/xxx[\x00-\x7F]+xxx/

这些是Ascii码,所以正则表达式是:/xxx[\x00-\x7F]+xxx/

您可以使用

它仍然会在那里留下一些字符,所以您可能需要用正则表达式将它们正则化

$('div.text').html(function(i,v){
     return $.trim($('<div>').html(v).text().replace(/<\/?[a-z][a-z0-9]*[^<>]*>/ig, ""));
});

你可以用这种方法剥掉它们

它仍然会在那里留下一些字符,所以您可能需要用正则表达式将它们正则化

$('div.text').html(function(i,v){
     return $.trim($('<div>').html(v).text().replace(/<\/?[a-z][a-z0-9]*[^<>]*>/ig, ""));
});

$this.html$this.text?这里不太清楚您要的是什么。当您说html代码时,是指html实体吗?是什么生成了html?为什么不让它停下来?说清楚点。您是否希望函数剥离或删除任何html代码并仅返回普通文本???$this.html$this.text?这里不清楚您要的是什么。当您说html代码时,是指html实体吗?是什么生成了html?为什么不让它停下来?说清楚点。你想函数剥离或删除任何html代码,只返回普通文本吗?我想他想保留文本?只是不是html。我同意,这是非常模糊的。我想你把问题搞错了。我不明白投票结果是什么for@ebramtharwat答:这个问题本来有点含糊。这个问题删除了所有内容。。我只想删除文本类中的html代码。我想他想保留文本?只是不是html。我同意,这是非常模糊的。我想你把问题搞错了。我不明白投票结果是什么for@ebramtharwat答:这个问题本来有点含糊。这个问题删除了所有内容。。我只想删除文本类中的html代码。