javascript - 阻止无不适用于javascript中的li元素
问题描述
我想<li>
根据某些条件阻止、隐藏元素,所以我尝试了下面的代码。
if (document.getElementById('ContentPlaceHolder1_hndSubGroupName').value == "SLP State Head") {
document.getElementById('addStore').style.display = "block";
document.getElementById('deleteStore').style.display = "none";
} else if (document.getElementById('ContentPlaceHolder1_hndSubGroupName').value == "RRSOC Viewer") {
document.getElementById('addStore').style.display = "none";
document.getElementById('deleteStore').style.display = "none";
} else {
document.getElementById('addStore').style.display = "block";
document.getElementById('deleteStore').style.display = "block";
}
<input type="hidden" id="ContentPlaceHolder1_hndSubGroupName" value="RRSOC Viewer" />
<ul>
<li id="addStore" class="" href="#" role="button">Add New Store</li>
<li id="deleteStore" class="" href="#" role="button">Delete Store</li>
<li class="" href="#" role="button" onclick="return DownloadAllStateReport();">Export Report</li>
<li class="" role="button" onclick="return DownloadHelpManual();">Help Manual</li>
</ul>
解决方案
我会回答这个问题,因为我已经发表了很多评论
在元素加载后执行脚本,将脚本放在元素之后或包装在 onload 处理程序中
代码可以简化:
var val = document.getElementById('ContentPlaceHolder1_hndSubGroupName').value;
var slp = val = "SLP State Head";
var rrsoc = val = "RRSOC Viewer";
document.getElementById('addStore').style.display = rrsoc ? "none":"block";
document.getElementById('deleteStore').style.display = !slp && !rrsoc ? "block": "none";
<input type="hidden" id="ContentPlaceHolder1_hndSubGroupName" value="RRSOC Viewer" />
<ul>
<li id="addStore" class="" href="#" role="button">Add New Store</li>
<li id="deleteStore" class="" href="#" role="button">Delete Store</li>
<li class="" href="#" role="button" onclick="return DownloadAllStateReport();">Export Report</li>
<li class="" role="button" onclick="return DownloadHelpManual();">Help Manual</li>
</ul>
推荐阅读
- gstreamer - 将 EOS 发送到包含 webrtcbin 和 appsrc 的管道
- reactjs - Spotify 隐式流教程,token 为空
- sql - 受值限制 Postgresql 查询
- vue.js - 升级到 Vue 3:将数据和方法放在哪里?
- php - Laravel Postgres 多模式数据库迁移
- java - 如何在 Spring MVC 中执行自定义验证?
- reactjs - 如果分配了 ref,IonContent 将不会触发滚动事件
- java - API Manager、anaylytics 和 MYSQL 连接超时问题
- ios - 加载错误安装 COCAPODS
- ravendb - RavenDB 中的内容搜索是什么?