javascript - jQuery:从 DOM 元素的所有实例中删除 html 标签

标签 javascript jquery html

我的 HTML 页面中有多个 .text-excerpt 实例,我想知道如何从该元素的每个实例中删除所有标签。

HTML:

<span class="text-excerpt">
    <p>Lorem ipsum dolor sit <strong>amet</strong>, consectetur adipiscing <br>elit. Aenean eget.</p>
</span>
<span class="text-excerpt">
    <p>Lorem ipsum dolor sit <strong>amet</strong>, consectetur adipiscing <br>elit. Aenean eget.</p>
</span>
<span class="text-excerpt">
    <p>Lorem ipsum dolor sit <strong>amet</strong>, consectetur adipiscing <br>elit. Aenean eget.</p>
</span>

最佳答案

您可以使用.text()为了那个原因。 .text() 的 getter 版本将获取元素的 .innerHTML 属性并过滤掉任何 HTML 标签。

将函数传递给 .text() 的 setter 版本并返回获取的值。

$('.text-excerpt').text(function(_,v){
    return v;
});

JSFiddle

<小时/>

可以用它制作一个简洁的小插件:

$.fn.removeHTML = function(){
    return this.each(function(){
        $(this).text(function(_, v){ return v ; });
    });
};

JSFiddle

关于javascript - jQuery:从 DOM 元素的所有实例中删除 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27148281/

相关文章:

php - 将函数从 JS 转换为 PHP

javascript - 使用 JavaScript 将对象转换为数组

javascript - 如何将正文的滚动条用于文本区域

JavaScript document.write 不像 PHP echo 那样工作

html - 为什么我的 div 覆盖和重叠

javascript - jsf在鼠标悬停/移出时装饰dataTable行

javascript - VueJS 通过挂载的事件监听器监听组合键

javascript - 如果它包含使用 JavaScript 的特定单词,如何关闭浏览器的选项卡?

javascript - Angular 服务/值没有从 $(document).ready() 中获取新的 var

html - 无论分辨率如何,如何使 div 延伸到屏幕底部?