2010-07-22 12 views
5

Tengo un problema al intentar detectar si existe una tabla usando jQuery. La tabla no tiene clase o ID.¿Cómo puedo detectar si existe una tabla (que no tiene una clase o ID)?

Lo que estoy tratando de lograr es no tener el siguiente código de fuego a menos que exista una tabla:

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

así que cambié la última línea a:

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

Pero el control de la línea de la longitud de la tabla nunca devuelve nada más que 0. Como prueba, si la cambio a == 0 llama a la función tableAltRows. No estoy tan familiarizado con jQuery, ¿así que supongo que me estoy perdiendo algo obvio?

+1

¿Cómo se creó esta tabla? ¿Tienes una página de ejemplo? – BrunoLM

+1

¿Dónde/cuándo/cómo se llama este código? –

Respuesta

8

Sospecho que no está llamando a su función cuando el DOM está listo. Pruebe:

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

Si está llamando al elemento antes de que exista, no funcionará.

Puede:

  1. introduzca el script después de que el elemento de
  2. hacer que el script se ejecuta cuando la página está listo

Ver this example

Cuestiones relacionadas