Javascript div隐藏不起作用

时间:2012-02-25 11:59:04

标签: php javascript wordpress html

我试图隐藏my wordpress blog上的评论表单(尽管页面不是wordpress博客,我只是得到帖子)。

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

如果有人可以提供帮助,我可以上传显示帖子(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 个答案:

答案 0 :(得分:2)

你有一个问题,因为输出(视图源)在顶部有一个对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>。)
  3. 您的主要问题似乎是一个混乱的代码结构。基于你有的乱码(没有冒犯),我建议使用像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中实现页面的所有内容。