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> 

把它放在你的脑海中,并把你的初始化代码放在那里。

相关问题