按ID隐藏HTML元素

Ada*_*vis 23 html javascript css

希望有一种快速而肮脏的方法可以从我只能添加CSS和Javascript的页面中删除"提问"(或隐藏它):

  <div class="nav" style="float: right;">
      <ul>
          <li style="margin-right: 0px;" >
              <a id="nav-ask" href="/questions/ask">Ask Question</a>
          </li>
      </ul>
  </div>
Run Code Online (Sandbox Code Playgroud)

我无法隐藏nav类,因为其他页面元素使用它.

我可以通过nav-askID 隐藏链接元素吗?

Fer*_*min 113

如果你想通过javascript而不是CSS来做,你可以使用:

var link = document.getElementById('nav-ask');
link.style.display = 'none'; //or
link.style.visibility = 'hidden';
Run Code Online (Sandbox Code Playgroud)

取决于你想做什么.

  • 这应该是答案 (5认同)
  • `display = 'none'` 意味着该元素实际上不在页面上,因此页面上没有为其分配空间(您仍然可以通过 DOM 访问),但 `visibility = 'hidden'` 意味着空间仍然被占用因为元素仍然被渲染,但只是没有显示。 (3认同)

jwh*_*hat 18

<style type="text/css">
  #nav-ask{ display:none; }
</style>
Run Code Online (Sandbox Code Playgroud)


Rob*_*len 6

@Adam Davis,你输入的代码实际上是一个jQuery调用.如果你已经加载了库,那就可以了,否则你需要附加CSS

<style type="text/css">
    #nav-ask{ display:none; }
</style>
Run Code Online (Sandbox Code Playgroud)

或者如果您已经拥有"hideMe"CSS类:

<script type="text/javascript">

    if(document.getElementById && document.createTextNode)
    {
        if(document.getElementById('nav-ask'))
        {
            document.getElementById('nav-ask').className='hideMe';
        }
    }

</script>
Run Code Online (Sandbox Code Playgroud)


Bra*_*ant 5

.nav ul li a#nav-ask{
    display:none;
}
Run Code Online (Sandbox Code Playgroud)

  • 我认为他想要随叫随到,而不是一直(可能是错误的),而不是:".nav ul li a#nav-ask",只需要做"#nav-ask" (3认同)