Estoy tratando de eliminar un div específico si un div separado está vacío. Esto es lo que estoy usando:
$(document).ready(function () {
if ('#leftmenu:empty') {
$('#menuTitleWrapper').remove();
$('#middlemenu').css({ 'right': '0', 'position': 'absolute' });
$('#PageContent').css({ 'top': '30px', 'position': 'relative' });
}
});
Creo que esto está cerca, pero no puedo entender cómo escribir el código para probar que #leftmenu está vacío. ¡Se agradece cualquier ayuda!
trim()
funciona perfecto para mí. Tuve que eliminar una columna en Sharepoint que estaba agregando algunos espacios en blanco, en los que setrim()
encuentra. Gracias..text()
porque en realidad podría tener algún comentario en el contenedor "vacío" y, por lo tanto, nitrim
tampoco:empty
funcionaría. Thx.html()
si un contenedor tiene un contenido HTML muy largo?Depende de lo que quieras decir con vacío.
Para verificar si no hay texto (esto permite elementos secundarios que están vacíos):
Para verificar si no hay elementos secundarios o texto:
O,
fuente
Si desea una demostración rápida de cómo verifica los divs vacíos, le sugiero que pruebe este enlace:
http://html-tuts.com/check-if-html-element-is-empty-or-has-children-tags/
A continuación tienes algunos ejemplos cortos:
Usando CSS
Si su div está vacío sin nada ni siquiera espacios en blanco, puede usar CSS:
Desafortunadamente, no hay un selector de CSS que seleccione el elemento hermano anterior. Solo hay para el siguiente elemento hermano:
x ~ y
Usando jQuery
Comprobación de la longitud del texto del elemento con la función text ()
Compruebe si el elemento tiene etiquetas secundarias dentro
Compruebe si hay elementos vacíos si tienen espacios en blanco
fuente
Puedes extender jQuery funcionalidad de esta manera:
Extender:
Utilizar :
fuente
Prueba esto:
No es el más bonito, pero debería funcionar. Comprueba si innerHTML (el contenido de #leftmenu) es una cadena vacía (es decir, no hay nada dentro).
fuente
En mi caso, tenía varios elementos para ocultar en document.ready. Esta es la función (filtro) que me funcionó hasta ahora:
o .remove () en lugar de .hide (), lo que prefiera.
FYI: Esta, en particular, es la solución que estoy usando para ocultar las molestas celdas vacías de la tabla en SharePoint (además de esta condición "|| $ (this) .children (" menu "). Length".
fuente
fuente
Me encontré con esto hoy y las respuestas aceptadas no funcionaron para mí. Así es como lo hice.
Mi solución verifica si hay elementos dentro del div, por lo que aún marcaría el div vacío si solo hay texto dentro de él.
fuente
también puedes usar esto:
¡Creo que funcionará para ti!
fuente
fuente