2011-02-19 25 views
10

Tengo problemas para intentar eliminar la primera columna de cada fila. Tengo un problema, es mi comprensión de jquery.cómo eliminar la primera columna de cada fila?

He intentado lo siguiente.

$("table:eq(2) tr td:first").remove() // this only removed the first cell 

$("table:eq(2) tr td:first").each.remove() // didn't notice a difference 

¿Alguna idea de lo que estoy haciendo mal?

Respuesta

16

Trate de usar td: first-child en lugar de td: primero

Consulte esta página para obtener más: http://api.jquery.com/first-child-selector/

P. S. Un par de sugerencias para su selector de jQuery:

  1. utilizar un ID de tabla o clase en lugar de identificación de índices porque si se mueve el cuadro que figura en el DOM, el selector se romperá

  2. Estoy bastante seguro que no es necesario el "tr"

Así:

$("#myTable td:first-child").remove() 
+0

+1, excelente información. Apoyaría todas las sugerencias de Karim. – Sapph

+0

Gracias hizo el truco. – PhoenixDown

+0

@PhoenixDown Considere aceptar la respuesta si eso funciona para usted y otorgue crédito donde se debe el crédito. – Hussein

0

Prueba esto:

$("table:eq(2) tr").each(function(){ 
    $(this).find("td:first").remove(); 
}); 

lo ve aquí: http://jsfiddle.net/cnanney/yZQdU/

Editar: me gusta la respuesta de Karim mejor :)

$("table:eq(2) tr td:first-child") es mucho más limpio, por no mencionar más eficiente.

+0

Supongo que no estaba usando cada función correctamente. Tu solución funcionó. – PhoenixDown

+0

Sí. Acabo de modificar su segundo intento para que funcione correctamente, no consideré si era o no la solución más eficiente, y no lo es. – cnanney

Cuestiones relacionadas