如何删除父标签名称?

时间:2017-01-29 05:46:50

标签: javascript nodes code-duplication

我有重复的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
}

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

1 个答案:

答案 0 :(得分:1)

我真的取决于嵌套的程度。换句话说,如果<b>内的<b>元素位于另一个<b>内,该怎么办?或者,这是不可能的?这是你迈出的第一步 - 想出来。

假设你只想清除自己内心深处的元素,你必须弄清楚你想要做哪些标记。

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

填充所有标记元素

然后对数组进行交互,寻找bArray[i].getElementsByTagName('b')[0],如果找到则捕获innerHTML

所以,你必须知道b的子索引,这样你就可以使用innerHTML创建.createTextElement,并用文本替换该子索引来剥离<b>

我不会免费这样做。不是今天。