jquery – 合并堆叠的DOM元素
我有通过contenteditable div格式化的HTML。 我想让它更简洁,更现代的HTML。 我可以轻松地替换任何b,strong,em,font等标签并用span替换它们,但结果会生成“堆叠”元素。
例如,我可能有:
some text
我希望看到:
some text
困难的部分是它需要处理:
some text not underlined
我已经做了很多搜索和思考,但没有找到任何合理的东西。
好吧,这是一个开始。 显然你的选择器会比span
更具体。
$("span").each(function(){ var $this = $(this); var $contents = $(this).contents(); if($contents.length === 1 && $contents.is("span")){ // only one child (including text nodes) and it is a span, combine copyStylesFromParentToChild(); // need to implement this $this.replaceWith($this.children()); // replace the parent with the child } });
这里唯一棘手的部分是copyStylesFromParentToChild
。 我不知道将所有样式从一个元素复制到另一个元素的简单直接方法。 您可以尝试JavaScript和复制样式