Me he encontrado con una situación en la que necesito eliminar manualmente cuadros de diálogo antiguos antes de crear cuadros nuevos. En otro hilo, se sugiere el siguiente método:Cómo eliminar cuadros de diálogo de JQuery del DOM
$('.ui-dialog').empty().remove();
y creo que esto iba a funcionar, pero tengo otros cuadros de diálogo que no quiero quitar de la DOM, y creo que este método se desharía de todos ellos. La inspección de la página con Firebug muestra que una vez que JQuery crea un diálogo desde el html que usted proporciona, le da divisores de envoltura estándar, todos con las mismas clases. Estos son:
ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable
Así que son bastante genérico, y es difícil encontrar una característica única de las clases de envoltura exterior que necesitan ir. Intento encontrar una manera de eliminar solo los cuadros de diálogo que deseo eliminar, y dejar los demás. ¿Algunas ideas?
No estoy seguro de lo que me gustaría añadir una clase personalizada a. Recuerde Necesito quitar el envoltorio externo que JQuery le da (no cualquier html que he escrito), y todo lo que hay debajo. Así que si estás sugiriendo que agregue una clase al div que originalmente usé para crear el diálogo, eso solo agregaría un clase para el html debajo de la envoltura. Luego, cuando trato de eliminarlo, sería simplemente eliminar lo que hay debajo de la envoltura. necesito una manera de seleccionar sólo las envolturas externas que quiero. si eso significa que la selección de ellos y la adición de una clase o simplemente seleccionando y eliminarlos, el problema sigue siendo el mismo. Gracias. – BAHDev
Entonces puedes usar has(): $ (". ui-dialog: has (.olddialog)"). rem ove(); –