Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除计时器上动态添加的div_Javascript_Jquery - Fatal编程技术网

Javascript 删除计时器上动态添加的div

Javascript 删除计时器上动态添加的div,javascript,jquery,Javascript,Jquery,我想要一个div在短时间内出现,然后消失 因此,我在单击按钮时动态创建div,然后在完成一些工作后,我希望将其从DOM中删除 因此,我设置了一个计时器,如下所示: var contentJoinTab = $("#..."); var divIdSubscribePleaseWait = "div-subscribe-pleasewait"; btnSubscribe.on("click", function (event) { displaySubscriptionWait();

我想要一个
div
在短时间内出现,然后消失

因此,我在单击按钮时动态创建
div
,然后在完成一些工作后,我希望将其从DOM中删除

因此,我设置了一个计时器,如下所示:

var contentJoinTab = $("#...");
var divIdSubscribePleaseWait = "div-subscribe-pleasewait";


btnSubscribe.on("click", function (event) {

    displaySubscriptionWait();

    postMailingListSubscription();

});

function displaySubscriptionWait() {
    var s = `<div id = ${divIdSubscribePleaseWait} class = "${classMailingListPleaseWait}">Please wait...</div>`;

    contentJoinTab.append(s);
};

function postMailingListSubscription() {

    // fake for now
    window.setTimeout(function() {
        removeSubscriptionWait();
    }, 4000);

};

function removeSubscriptionWait() {
    contentJoinTab.parent(`${divIdSubscribePleaseWait}`).remove();

   // I've even tried the following to no avail
   // $(`${divIdSubscribePleaseWait}`).remove();
   // contentJoinTab.find(`${divIdSubscribePleaseWait}`).remove();
};
var contentJoinTab=$(“#…”);
var dividsubscribeepleasewait=“div subscribe pleasewait”;
btnSubscribe.on(“单击”),功能(事件){
displaySubscriptionWait();
postMailingListSubscription();
});
函数displaySubscriptionWait(){
var s=`请稍候……`;
contentJoinTab.append;
};
函数postMailingListSubscription(){
//暂时假装
setTimeout(函数(){
removeSubscriptionWait();
}, 4000);
};
函数removeSubscriptionWait(){
contentJoinTab.parent(`${dividSubscribeePleaseWait}').remove();
//我甚至试过以下方法,但都没有用
//$(`${dividSubscribeePleaseWait}')。删除();
//contentJoinTab.find(${dividSubscribeePleaseWait}').remove();
};
但是,即使对
remove()
方法的调用没有错误,我试图删除的
div
仍保留在DOM中,并且可见


我确实理解事件传播,但我的理解是,这与这里无关。如果我想将事件附加到动态创建的
div
或其任何父级的
单击(或任何其他事件)上,这将是相关的。

可以通过将该div的outerHTML设置为null来实现

函数addDiv(){
设s=“临时Div”
让root=document.getElementById(“root”)
root.innerHTML+=s;
}
函数removeDiv(){
设theDiv=document.getElementById(“tempDiv”);
theDiv.outerHTML=“”
}
addDiv()
设置超时(removeDiv,2000)

您可以通过将该div的outerHTML设置为null来实现

函数addDiv(){
设s=“临时Div”
让root=document.getElementById(“root”)
root.innerHTML+=s;
}
函数removeDiv(){
设theDiv=document.getElementById(“tempDiv”);
theDiv.outerHTML=“”
}
addDiv()
设置超时(removeDiv,2000)

您已将该div附加为
contentJoinTab
的子项,但当您要删除它时,您会将其视为
contentJoinTab

您还需要在选择器中添加ID前缀

试着改变

contentJoinTab.parent(`${divIdSubscribePleaseWait}`).remove();


您已将该div附加为
contentJoinTab
的子级,但当您要删除它时,您会将其视为
contentJoinTab

您还需要在选择器中添加ID前缀

试着改变

contentJoinTab.parent(`${divIdSubscribePleaseWait}`).remove();

调用
removeSubscriptionWait
时,您可能缺少
,并且还需要
id=${dividSubscriptePleaseWait}
。 如果不清楚,请参见以下更改:
函数displaySubscriptionWait(){
var s=`请稍候……`;
contentJoinTab.append;
};
函数postMailingListSubscription(){
//暂时假装
setTimeout(函数(){
removeSubscriptionWait();
}, 4000);
};
函数removeSubscriptionWait(){
contentJoinTab.parent(`#${dividSubscribeePleaseWait}').remove();
//我甚至试过以下方法,但都没有用
$(`#${dividSubscribeePleaseWait}')。删除();
};
调用
removeSubscriptionWait
时,您可能缺少
,并且还需要
用于
id=${dividSubscriptePleaseWait}
。 如果不清楚,请参见以下更改:
函数displaySubscriptionWait(){
var s=`请稍候……`;
contentJoinTab.append;
};
函数postMailingListSubscription(){
//暂时假装
setTimeout(函数(){
removeSubscriptionWait();
}, 4000);
};
函数removeSubscriptionWait(){
contentJoinTab.parent(`#${dividSubscribeePleaseWait}').remove();
//我甚至试过以下方法,但都没有用
$(`#${dividSubscribeePleaseWait}')。删除();

};更新removeSubscriptionWait功能:

function removeSubscriptionWait() {

    contentJoinTab.find('#'+`${divIdSubscribePleaseWait}`).remove();
};

更新removeSubscriptionWait函数:

function removeSubscriptionWait() {

    contentJoinTab.find('#'+`${divIdSubscribePleaseWait}`).remove();
};

谢谢你,我记得我也试过(
查找
),读了你的答案后我又试了一次,但没有用。真的需要一个runnable来看看原因。创建一个演示,复制问题谢谢,我记得我也尝试过(
find
),我在阅读了你的答案后又尝试了一次,但没有效果。真的需要一个runnable来看看原因。创建一个演示,复制您想要的问题。我确实了解解决方法,并有更多的想法。我正在试图理解为什么
删除
方法在这里不起作用。谢谢。我确实了解解决方法,并有更多的想法。我正在试图理解为什么
删除
方法在这里不起作用。该死!就是这样。丢失的磅/哈希符号就是问题所在。我真傻!谢谢。:-)很乐意提供帮助:)出于好奇,元素是否需要
”,或者只缺少
?不,只需添加缺少的
即可。我还没注意到你所说的
。该死!就是这样。丢失的磅/哈希符号就是问题所在。我真傻!谢谢。:-)很乐意提供帮助:)出于好奇,元素是否需要
”,或者只缺少
?不,只需添加缺少的
即可。我还没有注意到你所说的