使用 Javascript 删除 div 中的文本

Delete text inside div using Javascript

我有一个使用 MailChimp 的电子邮件表单,我需要在 5 秒后删除 div 中的 "Thanks for subscribing" 消息,但我不能 select [=] 中的文本24=]。 我尝试了 getElementById、querySelector、innerText、innerHTML,有和没有#,但我一直得到空值。 我还尝试了 querySelectorAll 查看所有节点,它显示 div 和 id 为 div#mce-error-response.responde 并且文本在 innerHTML

<div id="mce-responses" class="clear">
    <div class="response" id="mce-error-response" style="display:none" wfd-invisible="true"></div>
    <div class="response" id="mce-success-response" style="" wfd-invisible="true">Thank you for subscribing!</div>
</div>
let myForm = document.querySelector('#mc-embedded-subscribe-form');
let msg = document.getElementById('#mce-success-response').innerHTML;

myForm.addEventListener('submit', onSubmit);

function onSubmit(e) {
    e.preventDefault();

    console.log(msg);

点击提交后 MailChimp 添加了 div 这是代码 https://codepen.io/m4573r00/pen/GRpwdKJ

这是节点 https://ibb.co/gw0jf8J

您试图在 document.getElementById 中使用 # 访问元素,这是错误的。

您可以使用 SetTimeout 函数来延迟。

setTimeout(function(){
       var el = document.getElementById('mce-success-response');
       el.style.display = "none";
}, 1000);

EDIT

基于评论的工作代码笔解决方案 - Link

let msg = document.getElementById('mce-success-response').innerHTML;

不使用 #. 作为 document.getElementById()
的输入参数 MDN

let myForm = document.querySelector('#mc-embedded-subscribe-form');
let msg = document.getElementById('mce-success-response').innerHTML;

myForm.addEventListener('submit', onSubmit);

function onSubmit(e) {
    e.preventDefault();

    console.log(msg);
}

您需要在 getElementById('mce-success-response')

中删除 #