2010-07-22 6 views
5

Ich habe ein Problem beim Versuch festzustellen, ob eine Tabelle mit jQuery existiert. Die Tabelle hat keine Klasse oder ID.Wie erkenne ich, ob eine Tabelle existiert (die keine Klasse oder ID hat)

Was ich versuche zu erreichen, nicht den folgenden Code ein Feuer haben, es sei denn, eine Tabelle vorhanden ist:

function tableAltRows() 
    { 
     $("#content table tr:even").each(function(){ 
      $(this).addClass("alt"); 
     }); 
    } 
$(tableAltRows); 

Also änderte ich die letzte Zeile:

if ($('table').length > 0) { 
    $(tableAltRows); 
} 

Aber die Linie überprüft Die Tabellenlänge gibt nie etwas anderes als 0 zurück. Wenn ich es zu == 0 ändere, ruft es die Funktion tableAltRows auf. Ich bin mit jQuery nicht so vertraut, also nehme ich an, dass ich etwas Offensichtliches vermisse?

+1

Wie diese Tabelle erstellt wird? Hast du eine Beispielseite? – BrunoLM

+1

Wo/wann/wie nennst du diesen Code? –

Antwort

8

Ich vermute, dass Sie nicht Ihre Funktion aufrufen, wenn das DOM bereit ist. Versuchen Sie:

$(document).ready(function() { 
    if($('table').length) { 
     alert('hello'); 
    } 
}); 
0

Wenn Sie das Element aufrufen, bevor es existiert, wird es nicht funktionieren.

Sie können:

  1. Legen Sie das Skript nach dem Element
  2. Machen Sie das Skript ausführen, wenn die Seite fertig ist

this example Siehe

Verwandte Themen