2010-02-02 12 views
7

Estoy tratando de eliminar una fila de la tabla usando jQuery, y aunque desaparece de la pantalla, y por lo tanto, parece que funciona, en Firebug, todavía puedo ver el código para ello. Hay elementos de formulario en esta fila, por lo tanto, quiero saber si la fila realmente se está eliminando o no, porque no me gustaría que esos valores sean enviados. Entonces, ¿eliminar realmente eliminar? A continuación está el código que estoy usando ... ¿Tal vez lo estoy haciendo mal?jQuery ::: ¿Eliminar realmente eliminar?

if($('.delete')) { 
      $(".delete").live('click', function(event) { 
       $(this).closest('tr').remove(); 
      }); 
     } 

Respuesta

9

El origen de una página no se actualiza con las funciones de Javascript. Si inspecciona el DOM en Firebug, debería poder ver los cambios reflejados.

+0

Estoy buscando en firebug ... Y, todavía veo el código para ese particular quitar allí. Entonces, ¿quizás algo está mal con cómo lo estoy haciendo? ¿Hay algo obvio de lo que publiqué? – phpN00b

+0

¿Está mirando el DOM y no la fuente? – cjk

+0

Para clarificar la nota de ck, el DOM viviente se analiza y estructura en un árbol en la ventana principal de Firebug, mientras que el código que se ve en la sección HTML o en la sección Script es el HTML estático tal como se cargó inicialmente. Siempre que se realicen cambios JS en la estructura, verá un resaltado amarillo en el área que se está modificando (y, en consecuencia, en todo el árbol). – dclowd9901

0

Sí, jQuery's remove() realmente elimina los elementos del DOM.

Probablemente hay algo mal en su código.

1

Elimina el elemento completamente de su DOM. Creo que puede estar buscando el elemento equivocado, porque si de hecho se elimina en su pantalla, Firebug debe reflejar el cambio.

Su código se ve bien.

.Remove() Reference

1

Eso es correcto. El método remove() no elimina los elementos. En "jQuery en acción" está escrito que "Tenga en cuenta que, como muchos otros comandos jQuery, el conjunto envuelto se devuelve como resultado de este comando. Los elementos que se eliminaron del DOM todavía se referencian en este conjunto (y por lo tanto no aún elegible para la recolección de basura) y puede ser operado con otros comandos jQuery ... " He estado buscando y no parece ser un jQuery que realmente elimine los elementos. Entonces creo que deberías hacerlo usando las antiguas funciones de JavaScript de DOM.

0

Sí lo hace.

Estaba jugando con eso el otro día. Puede ver en firebug (y otros depuradores del navegador) que el elemento desaparece.