Javascript div隐藏不起作用

问题描述:

我想隐藏my wordpress blog上的评论表单(虽然页面不是wordpress博客,我只是收到帖子)。Javascript div隐藏不起作用

如果我有意见,那么隐藏/显示将适用于表单和评论。如果我没有评论该功能不起作用,我不知道为什么。

如果有人可以帮助,我可以上传显示文章(blog.php)和wordpress主题内生成的评论页面(comments.php)的php文件。

编辑: PHP代码被删除与错误无关。相关的HTML代码如下:

... 
<body class="home blog logged-in custom-background"> 
<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery("#content img").addClass("imageSeven"); 
    }); 
</script> 

... 

<a id="replytitle" href="javascript:togglecommentform('replyform17');">Show Comment Form</a> 
<div id="replyform17" style="display:block;"> 
    ... 
</div> 

... 

<a id="replytitle" href="javascript:togglecommentform('replyform6');">Show Comment Form</a> 
<div id="replyform6" style="display:block;"> 
    ... 
</div> 

... 
+1

你可以在这里发布你的代码而不是链接(这符合预期的SO问题格式)。如果它的JavaScript导致你的问题,那么我们只需要(加上有问题的HTML) – isNaN1247 2012-02-25 12:03:49

+2

而且意味着当网站的固定/修改问题*对后续访问者仍然有用时。顺便提一句,PHP与JavaScript无关(大部分情况下),因为JavaScript是客户端,并且工作在DOM上,从浏览器看到的HTML中呈现。请在这里发布您的相关呈现HTML和JavaScript。 – 2012-02-25 12:04:58

+0

我已经添加snippets @beardtwizzle – Stefan 2012-02-25 12:13:41

你有一个问题,即输出(查看源代码)有权在顶部有一个参考的jQuery:

<body class="home blog logged-in custom-background"> 
<script type="text/javascript"> 
    jQuery(document).ready(function() { 
     jQuery("#content img").addClass("imageSeven"); 
    }); 
</script> 

这方面的一些要点:

  1. 因为你没有在任何地方包含对jQuery的引用 - 这会导致错误,这意味着即使你的其他JavaScript有效,它也将无法运行。
  2. ,如果你把所有你的JavaScript页面的底部,你不需要jQuery(document).ready...(只是</body>结束标记前。)

你的主要问题似乎是一个混乱的代码结构。基于你有(没有进攻)乱码,我会建议使用库如jQuery:


第1步:删除所有你在一个页面有JavaScript的。

从外表看,这只是意味着<script>块正好在<body>标记下。

第2步:替换这些<a>开始标记:

<a id="replytitle" href="javascript:togglecommentform('replyform17');"> 
<a id="replytitle" href="javascript:togglecommentform('replyform6');"> 

有了这些:

<a id="replytitle17" href="#"> 
<a id="replytitle6" href="#"> 

步骤3:就在</body>标记之前,包括以下内容:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script> 
     var images = $('#content img'); 
     if (images.length > 0) { images.addClass("imageSeven"); } 
     $('#replytitle17').click(function() { $('#replyform17').toggle(); }); 
     $('#replytitle6').click(function() { $('#replyform6').toggle(); }); 
    </script> 

这应该在jQuery中实现您的页面所具有的一切。

+0

+1,我原以为jQuery本来就包含在WP安装中 – 2012-02-25 12:33:40

+0

感谢@beardtwizzle,我会看看这个。你提到的JQuery是由我在整个网站使用的wordpress主题安置的,因为我在开发过程中不是经验丰富的专家,所以我没有意识到存在一个问题。 – Stefan 2012-02-25 12:34:32

+0

@Stefan - 检查这一点的最好方法是使用Firefox/Chrome等浏览器并检查其“Web Developer控制台” - 如果你这样做,你会看到一些红色的文字,如“jQuery未定义” – isNaN1247 2012-02-25 12:37:34