2010-06-26 94 views
9

當鏈接被點擊時,我試圖顯示/隱藏使用jquery的div。我把這個在我的頭部分:當鏈接被點擊時jquery顯示div

<script type="text/javascript"> 
    $("#attach_box").click(function { 
    $("#sec_box").show() 
    });   
</script> 

我有一個鏈接,看起來像這樣:

<a href="#" id="attach_box">+ Add a Postal Address (If Different)</a> 

而且看起來像這樣一個div:

<div id="sec_box" style="display: none;"> 
Hello world!!    
</div> 

這不工作,我不明白爲什麼。有任何想法嗎?

回答

23

您需要附加在document.readyclick處理程序,以確保該DOM已經被加載到瀏覽器,所有的元素:

<script type="text/javascript"> 
    $(function() { 
     $('#attach_box').click(function() { 
      $('#sec_box').show(); 
      return false; 
     });   
    }); 
</script> 

你也忘了把括號()下一個到click處理程序中的匿名函數。

+0

我還會在函數的末尾添加'return false;'以使#不會在位置結束,但這只是個人偏好。 – 2010-06-26 16:16:12

+0

@Daniel,好評,我已更新我的帖子。 – 2010-06-26 16:16:58

+0

這工作很好。任何想法,當用戶第二次點擊鏈接時我怎麼能隱藏div? – Thomas 2010-06-26 16:21:43

2

很可能DOM尚未完全加載。

<script type="text/javascript"> 
     $(document).ready(function() 
     { 
     $("#attach_box").click(function() { 
     $("#sec_box").show() 
     }); 
     });  
    </script> 

把它放在你的腦海中,並把你的初始化代碼放在那裏。

相關問題