
接下来,使用 classlist.contains() 方法来检查目标 div 元素是否包含特定的类名。
if (divOverlay.classList.contains('shown')) {
console.log("overlay is shown so hide the button");
targetButton.style.display = 'none'; // 隐藏按钮
} else {
console.log("overlay is hidden so show the button");
targetButton.style.display = 'block'; // 显示按钮 (或 'inline', 'inline-block',取决于你的需求)
}将上述代码整合到一个函数中,并在页面加载完成后执行该函数:
document.addEventListener('DOMContentLoaded', function() {
function toggleButtonVisibility() {
var overlayContainer = document.getElementById("mobile-start-container");
var divOverlay = document.getElementsByClassName("mobile-start-overlay")[0];
var targetButton = document.getElementById("target-button");
if (divOverlay && targetButton) { // 确保元素存在
if (divOverlay.classList.contains('shown')) {
console.log("overlay is shown so hide the button");
targetButton.style.display = 'none';
} else {
console.log("overlay is hidden so show the button");
targetButton.style.display = 'block';
}
} else {
console.warn("One or more elements not found.");
}
}
toggleButtonVisibility(); // 初始执行一次
// 如果 overlay 的状态会动态改变,需要监听相关事件,并在事件处理函数中再次调用 toggleButtonVisibility()
// 例如:
// document.getElementById("some-button").addEventListener("click", toggleButtonVisibility);
});HTML 示例:
<div id="mobile-start-container" class="fn-npnxnanbnsnfns01001000001" style="display: none;">
<div class="mobile-start-overlay shown" role="dialog" aria-modal="true" aria-labelledby="mobile-start-title" data-reactid=".0">
<!-- Overlay 内容 -->
</div>
</div>
<button id="target-button">目标按钮</button>通过以上步骤,可以实现根据 DIV 元素的类名来动态控制其他 DOM 元素的显示与隐藏。这种方法在 Web 开发中非常实用,可以根据不同的条件来呈现不同的页面内容,提升用户体验。记住,确保元素存在,处理 null 值,并根据实际情况处理动态更新,才能保证代码的正确性和稳定性。
以上就是JavaScript 根据 DIV 类名隐藏 DOM 元素的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号