2010-03-10 2 views
14

Надеюсь, быстрый и грязный способ, чтобы удалить «Задать вопрос» (или скрыть) со страницы, где я могу только добавить CSS и Javascript:Скрыть HTML элемент по идентификатору

<div class="nav" style="float: right;"> 
     <ul> 
      <li style="margin-right: 0px;" > 
       <a id="nav-ask" href="https://stackoverflow.com/questions/ask">Ask Question</a> 
      </li> 
     </ul> 
    </div> 

я не могу скрыть класс nav, потому что другие элементы страницы его используют.

Могу ли я скрыть элемент связи через идентификатор nav-ask?

+0

Не строго дубликат, но связанное с http://stackoverflow.com/questions/2262115/removing-html-element-by-id –

+1

# представляет идентификатор и. представляет класс, поэтому .nav будет нацелен на ваш элемент class = "nav", а # nav-ask будет нацелен на ваш id = "nav-ask". – jwhat

ответ

15
<style type="text/css"> 
    #nav-ask{ display:none; } 
</style> 
+0

, вы отсутствует # –

+0

Забыл добавить 4 пробела для форматирования моего ответа в виде кода. :) – jwhat

2

Я обнаружил, что следующий код, при вставке в сноске сайта, работает достаточно хорошо:

<script type="text/javascript"> 
$("#nav-ask").remove(); 
</script> 

Это может или не может требовать JQuery. На сайте я редактирования есть JQuery, но, к сожалению, я не javascripter, поэтому у меня есть только ограниченные знания о том, что происходит здесь, и требования данного фрагмента кода ...

+1

удалить удаляет его. Не скрывает его. Используйте $ ("# nav-ask"). Hide(); –

+4

Без использования инфраструктуры JavaScript, такой как jQuery, код будет выглядеть следующим образом: document.getElementById ('nav-ask'). Style.display = 'none'; – jwhat

5
.nav ul li a#nav-ask{ 
    display:none; 
} 
+0

ooh, я не понимал, что вы можете обратиться к элементу id в css! –

+3

Я думаю, что он хотел сделать это по вызову, в отличие от всего времени (может быть, не так), но вместо: «.nav ul li a # nav-ask», просто сделайте «# nav-ask» – Seaux

76

Если вы хотите сделать это с помощью javascript, а не CSS, вы можете использовать:

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

в зависимости от того, что вы хотите сделать.

+3

Это должен быть ответ – NeverEndingQueue

4

@Adam Davis, введенный вами код на самом деле является вызовом jQuery. Если у вас уже есть библиотека загружена, который работает просто отлично, в противном случае вам нужно будет добавить CSS-код

<style type="text/css"> 
    #nav-ask{ display:none; } 
</style> 

или если у вас уже есть «hideMe» CSS класс:

<script type="text/javascript"> 

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

</script> 
1

вы можете использовать CSS селекторы

a[href="https://stackoverflow.com/questions/ask"] { display:none; }