gpt4 book ai didi

javascript 缓存(也许)?

转载 作者:行者123 更新时间:2023-12-02 20:01:46 27 4
gpt4 key购买 nike

我需要从屏幕上删除一个元素,然后重新生成一个具有相同名称的元素。

代码中有一个deleteObject函数和一个appendChild调用。

在deleteObject函数中,它使用removeChild语句删除元素(如下所示)。

查看此jsfiddle为了我想要完成的事情。现在 fiddle 可以工作,但我的代码仍然不能。我认为这与“top”关键字有关。看这个question我对此的想法。

就像我之前所说的,我有一个名为“container1”的元素需要删除,然后我有一个需要创建的新“container1”。当我从 deleteObject 函数中删除代码时,我的新“container1”会显示,但是,当我包含该代码时,它似乎会发生冲突,并且新的“container1”永远不会显示。

我想知道是否存在某种 javascript 缓存?由于删除和创建函数是连续调用的。有没有一种方法可以使用我拥有的代码,但会增加某种延迟?

任何建议表示赞赏!

    function deleteObject(id) {
try {
var obj = document.getElementById(id);
obj.parentNode.removeChild(obj);
} catch (e) {}
//do something
}

function hidePopWin() {
if (gPopupMask == null) {
return;
}

deleteObject('popupMask_' + popuplayer);
deleteObject('popcont_' + popuplayer);

popuplayer--;

if (popuplayer == 0) {
gPopupIsShown = false;
gPopupContainer = this.undefined;
gPopupIframe = this.undefined;
} else {
var showmask = document.getElementById('popupMask_' + popuplayer);
if (showmask) {
showmask.style.display = "block";
gPopupContainer = document.getElementById("popcont_" + popuplayer);
gPopupIframe = document.getElementById("iframe_layer" + popuplayer);
}
}
//console.log("got here: " )
}

更新:这个jsfiddle更准确地显示正在发生的事情(但是,在 fiddle 中它可以工作,但在内部却不能):请参阅此 question欲了解更多信息

最佳答案

尽管微不足道,也许您可​​能忽略了实际加载的 DOM?jsFiddle 在 onLoad 上调用您的代码。

如果您调用deleteObject('id');,则在后一个文档/元素加载到 DOM 中之前它不会起作用,因为在此之前 ID 并不存在。

关于javascript 缓存(也许)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7882057/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com