<div> " onClick ausführen, javascript Funktion funktioniert nicht

Habe ich den folgenden html-code

<div id="userMenu">
  <ul>
    <li id="tab1">
      <div onclick="displayTab(1);" class="tab">Transaction History</div>
    </li>
    <li id="tab2">
      <div onClick="displayTab(2)" class="tab">Top Up</div>
    </li>
    <li id="tab3">
      <div onclick="displayTab(3);" class="tab">Profile</div>
    </li>
  </ul>
</div>
<div style="clear: both; margin: 15px; border: 2px solid #99ffff;">
  <div id="content1" class="tabContent">
    Content1
  </div>
  <div id="content2" class="tabContent" style="display: none;">
    Content2
  </div>
  <div id="content3" class="tabContent" style="display: none;">
    Content3
  </div>
</div>

javascript

function displayTab(tabNo){ alert(tabNo);
  for(i = 1; i < 4; i++){
    document.getElementById('content'+i).style.display = 'none';
  } 
  document.getElementById('content'+tabNo).style.display= 'block';
}

Warum ist es, dass die Funktion displayTab kann nicht aktiviert werden? Wenn ich den onclick mit onclick="alert('1')", es funktionierte. Ich habe versucht, auf Opera und Firefox, die beiden resultierenden gleich. Fehler-Konsole sagt mir, dass es eine

ReferenceError: Undefined variable displayTab

Tun, beachten Sie, dass das nicht der vollständige code. Noch verrückter Tatsache ist, dass wenn ich diesen code (den habe ich hier), wie es ist, es hat funktioniert und keine Fehler in der Fehlerkonsole. Hilfe, anyone?

  • Können Sie zeigen, wo die Funktion definiert ist? Das ist, ist es Links von einer externen Datei? Ist es in einem inline-Skript? Stellen Sie zunächst sicher, dass es geladen ist (z.B. durch hinzufügen von "alert('geladen')") nach der schließenden Klammer der displayTab () - Funktion.
  • jsfiddle.net/EZBL5 funktioniert
  • Wie Vlad schon oben gesagt, es ist fast sicher, dass Sie falsch definieren der Funktion....
  • Die Ursache fanden die Jungs. Sorry für die Mühe und danke für den Versuch zu helfen. Ich erklärte, dass als inline-Skript.
  • Sie sollten überprüfen Sie die debug-Konsole zu, was diesen Fehler verursachen. WENN Sie test auf Google Chrome, der shortcut ist Strg + Shift + J
  • Wenn Ihre aktuelle snippet funktioniert, wie es ist, dann hast du vielleicht javascript-Fehler in deiner Seite irgendwo anders,möglicherweise vor der definition von displayTab Funktion. Versuchen Sie andere scripts oder verschieben definition von displayTab auf der Oberseite die meisten script-block.Überprüfen Sie mit der javascript-Konsole für andere Fehler, falls vorhanden.Kann ich nicht viel sagen, ohne gerade Ihre vollständigen code.

InformationsquelleAutor | 2013-01-26
Schreibe einen Kommentar