如何删除父标签名称?

How to remove parent tag name?

我有重复的 html 包装器 "B"。我想删除 B、I 等的重复包装。

这是我的 HTML 显示我进入了一个元素

<div ng-mouseup="mouseUpEvent(e)" ng-keyup="keyUpEvent()" contenteditable="" data-element="textBlock" id="markdown-body">

  Chicken ipsum dolor sit.<b> Pooz<b>hasellus ege</b>stas</b>,
  ipsum <i>sit amet finibus </i>pellentesque, iza house byys nget lectus. Proin pulvinar enim non mi vestibulum interdum. Sed nisl enim, sagittis non vestibulum eget, congue pellentesque
  ipsum. Nullam nec interdum elit

</div>

脚本 我能够找到父标签名称和子标签名称

if( newNode.tagName ==  selectedContentParents.tagName){
   console.log('yep'); // this come out as true.
   console.log(typeof newNode );  // object
   console.log(typeof selectedContentParents ); // object
}

如何删除父 tagName B 并获取呈现的内容。 我试图复制父标签的内部 html 并使用 replaceWith 但 HTML 未呈现。

我真的要看嵌套的层次了。换句话说,如果在 <b> 中有一个 <b> 元素,在另一个 <b> 中怎么办?或者,这不可能吗?不过,这是您的第一步 - 弄清楚这一点。

假设您只想清除 like 元素自身深处的一层,您将必须弄清楚要对哪些标签执行此操作。

为每个标签创建一个空数组,例如 bArray 和 iArray。使用 document.getElementsByTagName('b')

用所有标记的元素填充它们

然后遍历数组,寻找 bArray[i].getElementsByTagName('b')[0],如果找到则捕获 innerHTML

所以,您必须知道 b 的子索引,这样您就可以使用 innerHTML .createTextElement 并将该子索引替换为文本以去除 <b>.

我不会免费做的。不是今天。