简单的JQuery点击显示不起作用

时间:2012-02-11 15:57:15

标签: javascript jquery

我正在使用这个简单的JQuery来通过点击链接来显示/隐藏div,我之前使用了相同的代码几次并且它工作得很好但是现在突然它拒绝工作。

JQuery已正确包含,页面不会出现Javascript错误(或任何其他错误)。

JQuery的:

<script type="text/javascript"> 
   $(function() {
       $('#addnew').css('display', 'none');
       $('#shownew').click(function() {
           $('#addnew').toggle();
           return false;
       });        
   });
</script>

HTML(链接):

<a href='#' id='shownew'>Add News Item</a>

HTML(div):

<div id="addnew">
<form id="new_news" enctype="multipart/form-data" action="news.php" method="post">
Title:
<br/><input type="text" name="title" id="title" />
<p>Image (optional, will be shown after first paragraph)
<br/><input type="hidden" name="size" value="2000000"><input type="file" name="photo">
<p>Article body:
<br/><textarea cols='40' rows='5' maxlength='5000' name='body' id='body'></textarea>
<p><input type="submit" name="submit" id="submit" value="Submit" />
</form>
</div>

我可能会在这里失踪什么?正如您从JQuery中看到的那样,div开始时是隐藏的。当我删除显示$('#addnew').css('display', 'none');的行时,div正确显示,但链接仍无法打开和关闭。

2 个答案:

答案 0 :(得分:0)

onload之前是否在DOM中存在#showNew元素?如果不是那么您的代码将无法正常工作。如果是这种情况,下面的代码将对您有所帮助。

$(document).on('click', '#shownew',function() {
       $('#addnew').toggle();
       return false;
   }); 

答案 1 :(得分:0)

几分钟后我重新加载了页面并且它运行了。不知道出了什么问题。我知道代码从一开始就很好。