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