首页 > 解决方案 > 在jQuery中删除没有文本的元素并分离带有文本的子元素

问题描述

我正在为summernote做一些插件,经过测试,我发现有一个案例场景会创建这样的结构:

<span style="text-transform: uppercase">
   <span style="text-transform: lowercase">
       SOME TEXT HERE
   </span>
</span>

我能做些什么来清理这样的东西?这个想法是进行递归,只留下实际包含文本的结构。在上述情况下,只留下:

<span style="text-transform: lowercase">
   SOME TEXT HERE
</span>

所以需要有一个带有文本的孩子。

实现这一目标的最佳解决方案是什么?我考虑过使用正则表达式,但这可能不是一个好主意。

找到了一种快速删除完全空的 html 元素的方法:

$('span:empty', context).remove();

但不适用于这些类型的案例场景。

标签: javascriptjquery

解决方案


推荐阅读