IE11:对象不支持属性或方法“ replaceWith”

时间:2018-07-17 19:49:54

标签: javascript jquery twitter-bootstrap internet-explorer

我有一个简单的函数,可以在动态加载模式时将模式移动到模式容器。它适用于Edge,Chrome和Firefox。但是,在IE11中,出现错误:“对象不支持属性或方法'replaceWith'”。我们的客户需要IE11支持。

可能是什么原因导致错误?

function moveModals() {
    $('#mainBody .modal').each(function () {
        if ($("#modalsContainer>#" + this.id).exists())
            $("#modalsContainer>#" + this.id)[0].replaceWith(this);
        else
            $(this).appendTo("#modalsContainer");
    });
}

1 个答案:

答案 0 :(得分:3)

改为使用此:

$("#modalsContainer>#" + this.id).replaceWith(this);

这样,您仅依赖jQuery(从您编写的内容中省略了[0])。您编写的方式是从原始HTML DOM对象调用replaceWith。