为什么在更改DOM的函数中看不到DOM更改?

时间:2016-06-20 07:50:52

标签: javascript jquery dom

我有JS / jQuery代码:

function swapElements(parent, i) {
     var a = parent.eq(i);
     var b = parent.eq(i + 1);

     var atemp = a.clone();
     var btemp = b.clone();

     a.replaceWith(btemp);
     b.replaceWith(atemp);

     debugOutput(); // instead of some actions
 }
 swapElements(parent, i);

debugOutput函数看到旧的未更改版本DOM。

我尝试使用MutationObserversetTimeout来致电debugOutput但却什么都没有。

但是,如果我从另一个函数手动检查DOM:

$("button").click(function () {
    debugOutput();
});

然后debugOutput立即看到新更改的DOM。

为什么会这样?如何在replaceWith中的swapElements之后直接使用已更改的DOM?

感谢您的帮助。

0 个答案:

没有答案