diff --git a/src/plugins/dialog/audio.js b/src/plugins/dialog/audio.js index 0ea8400b6..8f55a2bd9 100644 --- a/src/plugins/dialog/audio.js +++ b/src/plugins/dialog/audio.js @@ -464,7 +464,9 @@ export default { const container = this.plugins.component.set_container.call(this, cover, 'se-audio-container'); try { - if (this.util.isListCell(existElement)) { + if (this.util.getParentElement(prevElement, this.util.isNotCheckingNode)) { + prevElement.parentNode.replaceChild(container, prevElement); + } else if (this.util.isListCell(existElement)) { const refer = this.util.getParentElement(prevElement, function (current) { return current.parentNode === existElement; }); existElement.insertBefore(container, refer); this.util.removeItem(prevElement); diff --git a/src/plugins/dialog/image.js b/src/plugins/dialog/image.js index b293808ed..65b52e3ea 100644 --- a/src/plugins/dialog/image.js +++ b/src/plugins/dialog/image.js @@ -772,7 +772,9 @@ export default { contextImage._element : /^A$/i.test(contextImage._element.parentNode.nodeName) ? contextImage._element.parentNode : this.util.getFormatElement(contextImage._element) || contextImage._element; - if (this.util.isListCell(existElement)) { + if (this.util.getParentElement(contextImage._element, this.util.isNotCheckingNode)) { + contextImage._element.parentNode.replaceChild(container, contextImage._element); + } else if (this.util.isListCell(existElement)) { const refer = this.util.getParentElement(contextImage._element, function (current) { return current.parentNode === existElement; }); existElement.insertBefore(container, refer); this.util.removeItem(contextImage._element); diff --git a/src/plugins/dialog/video.js b/src/plugins/dialog/video.js index d75731fd3..78d539e72 100644 --- a/src/plugins/dialog/video.js +++ b/src/plugins/dialog/video.js @@ -671,7 +671,9 @@ export default { if (format) contextVideo._align = format.style.textAlign || format.style.float; this.plugins.video.setAlign.call(this, null, oFrame, cover, container); - if (this.util.isListCell(existElement)) { + if (this.util.getParentElement(prevFrame, this.util.isNotCheckingNode)) { + prevFrame.parentNode.replaceChild(container, prevFrame); + } else if (this.util.isListCell(existElement)) { const refer = this.util.getParentElement(prevFrame, function (current) { return current.parentNode === existElement; }); existElement.insertBefore(container, refer); this.util.removeItem(prevFrame);