我有重复的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。
答案 0 :(得分:1)
我真的取决于嵌套的程度。换句话说,如果<b>
内的<b>
元素位于另一个<b>
内,该怎么办?或者,这是不可能的?这是你迈出的第一步 - 想出来。
假设你只想清除自己内心深处的元素,你必须弄清楚你想要做哪些标记。
为每个标签创建一个空数组,例如bArray和iArray。使用document.getElementsByTagName('b')
然后对数组进行交互,寻找bArray[i].getElementsByTagName('b')[0]
,如果找到则捕获innerHTML
所以,你必须知道b的子索引,这样你就可以使用innerHTML创建.createTextElement,并用文本替换该子索引来剥离<b>
。
我不会免费这样做。不是今天。