我有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。
我尝试使用MutationObserver
和setTimeout
来致电debugOutput
但却什么都没有。
但是,如果我从另一个函数手动检查DOM:
$("button").click(function () {
debugOutput();
});
然后debugOutput
立即看到新更改的DOM。
为什么会这样?如何在replaceWith
中的swapElements
之后直接使用已更改的DOM?
感谢您的帮助。