以下代码适用于标准html标记,例如 div 或 p 。这会删除第一个累积标记:
Dim htmlDoc As HTMLDocument
Dim Node As IHTMLDOMNode
Set htmlDoc = New HTMLDocument
htmlDoc.body.innerHTML = strSomeData
Set Node = htmlDoc.getElementsByTagName(strSomeTagName).item(0)
Node.parentNode.removeChild Node
但是当您阅读带有Angular标记名称的HTMLDocument,例如 article 或 main 或任何其他非标准html标记名称时,getElementsByTagName()无法读取DOM正确。提取的节点的提取的.outerHTML仅包含开始标记,而.innerHTML保留为空。当您删除此类节点时,只会从HTMLDocument中删除开始标记,因此会破坏DOM结构的整个逻辑。
我在这里错过了什么吗?