首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >除非使用Javascript提供URL参数,否则隐藏具有特定类的HTML元素

除非使用Javascript提供URL参数,否则隐藏具有特定类的HTML元素
EN

Stack Overflow用户
提问于 2018-06-28 08:27:35
回答 2查看 140关注 0票数 1

尝试隐藏具有特定类的元素(“input-container”的类),除非存在特定的URL参数。我已经完成了以下代码,但似乎无法使其正常工作。if/else语句已经使用警报进行了测试,因此我知道该部分正在工作。这就是我试图给display变量赋值的地方,代码似乎要崩溃了。不幸的是,我不得不使用类名而不是ID来做这件事。

代码语言:javascript
复制
<script>
  var isadmin = document.getElementsByClassName("input-container");
  if (window.location.search.indexOf('admin=yes') > -1) {
    isadmin[0].style.display = "block";
  } else {
    isadmin[0].style.display = "none";
  }
</script>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-03 05:02:32

事实证明,这是座椅和键盘之间的一个问题。我是个笨蛋,没有意识到Javascript是在元素加载之前执行的。修复了以下代码的问题...

代码语言:javascript
复制
<script>
  window.onload = hidePass;
  function hidePass() {
  var isadmin = document.getElementsByClassName('input-container')[0]; 
  if (window.location.search.indexOf('admin=yes') > -1) {
    isadmin.style.display = "block";
  } else {
    isadmin.style.display = "none";
  }
  }
</script>
票数 0
EN

Stack Overflow用户

发布于 2018-06-28 08:40:10

你的代码看起来没问题。我想知道为什么不工作。不管怎样,我会试试这个

代码语言:javascript
复制
<script>
  var isadmin = document.getElementsByClassName("input-container");
  var url = new URL(window.location);
  if (url.searchParams('test') && url.searchParams('test') == 'yes') {
    isadmin[0].style.display = "block";
  } else {
    isadmin[0].style.display = "none";
  }
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51073115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档