javascript - 如何在if语句中隐藏元素?
问题描述
我正在对 CMS 进行 html 更改,当更改生效时将影响所有页面。我希望这个 html 警报只影响 1 个特定页面。我正在尝试为页面标题做一个 if 语句。
逻辑是,如果页面标题是Test Article Two
然后显示我已经放置的 html,如果不是那么display=none
。有了这个逻辑,我正在查看所有页面上的 html,而不仅仅是我希望它显示的那个。
<div class="container">
<div class="title-wrapper">
<a href="~/@countryText.ToLower()" title="@countryFullText" alt="@countryText"><span id="article-banner-country">@countryFullText</span></a> /
<a href="@parentUrl" title="@subCatText" alt="@subCatText"><span id="article-banner-category">@subCatText</span></a>
<div id="article-banner-title">@pageTitle</div>
<!--page alert -->
<div class="feedback-container content-desktop" id="alert-dialog">
<div class="feedback-left">
<p>Have any feedback? Reach out to us!</p>
</div>
<div class="feedback-right">
<button class="feedback-button">Give Feedback</button>
<button class="feedback-button">Dismiss</button>
</div>
</div>
</div>
</div>
<script>
function showAlert() {
if(@pageTitle === "Test Article Two") {
document.getElementById('alert-dialog').style.display = 'block';
}else {
document.getElementById('alert-dialog').style.display = 'none';
}
}
</script>
解决方案
我建议更改body
元素上的类,以便您可以CSS
用于样式。
- HTML:这里没有真正改变
<body>
<div class="container">
<div class="title-wrapper">
<a href="~/@countryText.ToLower()" title="@countryFullText" alt="@countryText"><span id="article-banner-country">@countryFullText</span></a> /
<a href="@parentUrl" title="@subCatText" alt="@subCatText"><span id="article-banner-category">@subCatText</span></a>
<div id="article-banner-title">@pageTitle</div>
<div class="feedback-container content-desktop" id="alert-dialog">
<div class="feedback-left">
<p>Have any feedback? Reach out to us!</p>
</div>
<div class="feedback-right">
<button class="feedback-button">Give Feedback</button>
<button class="feedback-button">Dismiss</button>
</div>
</div>
</div>
</div>
</div>
</body>
- javascript:只需检查
document.title
并添加body
元素的类
<script>
if(document.title === "Test Article Two") {
document.body.classList.add("show-alert");
}
</script>
- 用于
CSS
造型。#alert-dialog
当我们将类添加到正文时,始终隐藏并仅显示它。
<style>
#alert-dialog {
display: none;
}
.show-alert #alert-dialog {
display: block;
}
</style>
推荐阅读
- javascript - 使用反应样式组件渲染多个样式类
- python - awsebcli:通过自制软件安装了带有 python 3.9 版本的 EB CLI。项目中使用 Python 3.7 - 潜在问题?
- python - ffmpeg 无法以任何方式识别使用过的编解码器
- javascript - pm.response.json() 和 JSON.parse(responseBody) 之间的区别
- ios - 选择 TableView 单元格会激活多个部分中的行中的复选标记
- amazon-s3 - 如果我有一个 S3 生命周期规则来永久删除过期版本,那么当当前版本是删除标记时它是否也适用?
- javascript - nextjs 带空格的动态路由问题
- dart - Dart 架子 - 中间件和处理程序执行顺序
- javascript - 无法单击条纹结帐按钮
- nestjs - 如何在@Entity 中动态设置表名?