2010-03-10 35 views
14

Hy vọng rằng có một cách nhanh chóng và dơ bẩn để loại bỏ các "Ask Câu hỏi" (hoặc giấu nó) từ một trang mà tôi chỉ có thể thêm CSS và Javascript:Hide phần tử HTML bằng id

<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> 

tôi không thể ẩn lớp nav vì các phần tử trang khác sử dụng nó.

Tôi có thể ẩn phần tử liên kết qua mã số nav-ask không?

+0

Không hoàn toàn là một bản sao của một, nhưng có liên quan đến http://stackoverflow.com/questions/2262115/removing-html-element-by-id –

+1

# đại diện cho ID và. đại diện cho lớp, vì vậy .nav sẽ nhắm mục tiêu phần tử class = "nav" của bạn và # nav-ask sẽ nhắm mục tiêu phần tử id = "nav-ask" của bạn. – jwhat

Trả lời

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

bạn thiếu # –

+0

Quên thêm 4 dấu cách để định dạng câu trả lời của tôi thành mã. :) – jwhat

2

tôi thấy rằng đoạn mã sau, khi đưa vào chân trang của trang web, làm việc tốt đủ:

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

này có thể hoặc không có thể yêu cầu jquery. Các trang web Tôi chỉnh sửa có jquery, nhưng tiếc là tôi không javascripter, vì vậy tôi chỉ có một kiến ​​thức hạn chế về những gì đang xảy ra ở đây, và các yêu cầu của đoạn mã này ...

+1

xóa loại bỏ nó. Không giấu nó. Sử dụng $ ("# nav-ask"). Hide(); –

+4

Nếu không sử dụng một khung JavaScript như jQuery, mã sẽ là: document.getElementById ('nav-ask'). Style.display = 'none'; – jwhat

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

ooh, tôi không nhận ra bạn có thể giải quyết phần tử id trong css! –

+3

Tôi nghĩ anh ấy muốn thực hiện cuộc gọi này, trái với mọi lúc (có thể sai), nhưng thay vì: ".nav ul li a # nav-ask", chỉ cần "# nav-ask" – Seaux

76

Nếu bạn muốn làm điều đó qua javascript thay vì CSS bạn có thể sử dụng:

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

tùy thuộc vào những gì bạn muốn làm.

+3

Đây phải là câu trả lời – NeverEndingQueue

4

@Adam Davis, mã bạn đã nhập thực sự là cuộc gọi jQuery. Nếu bạn đã có thư viện được nạp, mà chỉ hoạt động tốt, nếu không bạn sẽ cần phải thêm CSS

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

hoặc nếu bạn đã có một "hideMe" CSS Class:

<script type="text/javascript"> 

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

</script> 
1

bạn có thể sử dụng selectors CSS

a[href="https://stackoverflow.com/questions/ask"] { display:none; } 
Các vấn đề liên quan