2012-02-25 53 views
-1

我想隱藏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

回答

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>結束標記前。)

你的主要問題似乎是一個混亂的代碼結構。基於你有(沒有進攻)亂碼,我會建議使用庫如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