/ / Javascript div ausblenden funktioniert nicht - PHP, Javascript, WordPress, HTML

Javascript div ausblenden funktioniert nicht - PHP, Javascript, WordPress, HTML

Ich versuche ein Kommentarformular zu verstecken mein Wordpress-Blog (obwohl die Seite nicht der Wordpress-Blog ist, bekomme ich nur die Posts).

Wenn ich Kommentare habe, funktioniert das Verbergen / Zeigen für das Formular und für die Kommentare. Wenn ich keine Kommentare habe funktioniert die Funktion nicht und ich bin mir nicht sicher warum.

Wenn jemand helfen kann, kann ich die PHP-Dateien hochladen, die die Posts (blog.php) und die Kommentare-Seite (comments.php) anzeigen, die im Wordpress-Theme generiert werden.

BEARBEITEN: Der PHP-Code wurde als nicht relevant für den Fehler entfernt. Relevanter HTML-Code wie folgt:

...
<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>

...

Antworten:

2 für die Antwort № 1

Sie haben ein Problem darin, dass die Ausgabe (Quelltext anzeigen) einen Verweis auf jQuery ganz oben hat:

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

Einige Punkte dazu:

  1. Da Sie nirgendwo einen Verweis auf jQuery einfügen, führt dies zu einem Fehler. Dies bedeutet, dass der Rest von Ihnen, selbst wenn JavaScript gültig ist, nicht ausgeführt werden kann.
  2. Du brauchst es nicht jQuery(document).ready... Wenn Sie Ihr gesamtes JavaScript an den unteren Rand der Seite verschieben (kurz vor dem </body> End-Tag.)

Ihr Hauptproblem scheint eine verwirrte Codestruktur zu sein. Basierend auf dem unordentlichen Code, den Sie haben (nichts für ungut), würde ich empfehlen, eine Bibliothek wie jQuery zu verwenden:


Schritt 1: Entfernen Sie das gesamte JavaScript, das Sie auf dieser Seite haben.

Nach dem Aussehen der Dinge, das bedeutet nur die <script> Block das ist direkt unter deinem <body> Etikett.

Schritt 2: Ersetzen Sie diese <a> Start Tags:

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

Mit diesen:

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

Schritt 3: Kurz vor dem </body> Geben Sie Folgendes ein:

    <script src="/images///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>

Dies sollte alles, was Ihre Seite hat, in jQuery erreichen.