此问题在此处已有答案:
Why does jQuery or a DOM method such as getElementById not find the element?(6个答案)
11小时前关门了。
const closeButton = document.getElementById('close-button');
// Listen for a click event on the close button
closeButton.addEventListener('click', () => {
const newsBar = document.getElementById('news-bar');
// Set the display of the news bar to "none" to hide it
newsBar.style.display = 'none';
});
#news-bar {
background-color: rgb(255, 221, 0);
margin-top: -1em;
display: block;
}
.news-message {
display: inline-grid;
margin: auto;
margin-top: 1.3em;
margin-bottom: 0.3em;
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
#close-button {
margin-left: 2em;
}
<div id="news-bar">
<p class="news-message"> Our Website is currently being developed. Please stay patient.</p>
<button class="news-message" id="close-button">X</button>
</div>
我尝试更改元素CSS,使其默认为隐藏,但这毫无意义,因为我希望它在用户访问网站时仍在此处
4条答案
按热度按时间afdcj2ne1#
也许你的脚本链接错误或者document.getElementById()没有找到任何元素,请创建一个console.log来记录这两个document.getElementById()返回的内容。另外,CSS可能会阻止你的样式更改,所以我建议你创建两个不同的id。例如:
CSS文件
JS文件
yhived7q2#
尝试将所有const更改为var,看看是否有效。
检查你的html id名称![![在这里输入图像描述][1]][1]
此错误意味着它无法获取定义的id [1]:https://i.stack.imgur.com/gaE4Q.jpg
kninwzqo3#
您的代码工作正常。
确保您没有忘记将js文件导入html,例如:
du7egjpx4#
我发现你有什么问题,我以为是JS文件的问题,但它不是,问题是你链接的js文件在文件的头部时,元素甚至不存在(因为HTML文件创建的元素阅读从顶部到底部的文件).你需要把
<script src="script.js"></script>
在最后的<body>
标签.