Estou tentando remover um div específico se um div separado estiver vazio. Aqui está o que estou usando:
$(document).ready(function () {
if ('#leftmenu:empty') {
$('#menuTitleWrapper').remove();
$('#middlemenu').css({ 'right': '0', 'position': 'absolute' });
$('#PageContent').css({ 'top': '30px', 'position': 'relative' });
}
});
Acho que isso está perto, mas não consigo descobrir como escrever o código para testar o #leftmenu está vazio. Qualquer ajuda é apreciada!
trim()
funciona perfeito para mim. Tive que remover uma coluna do Sharepoint que estava adicionando algum espaço em branco, no qualtrim()
encontra. Obrigado..text()
porque você poderia realmente ter algum comentário no container "vazio" e, portanto, nemtrim
nem:empty
funcionaria. Thx.html()
se um contêiner tiver um conteúdo HTML muito longo?Depende do que você entende por vazio.
Para verificar se não há texto (isso permite os elementos filho que estão vazios):
Para verificar se não há nenhum elemento filho ou texto:
Ou,
fonte
Se você quiser uma demonstração rápida de como verificar se há divs vazios, sugiro que tente este link:
http://html-tuts.com/check-if-html-element-is-empty-or-has-children-tags/
Abaixo você tem alguns exemplos curtos:
Usando CSS
Se seu div estiver vazio, sem nada, nem mesmo nenhum espaço em branco, você pode usar CSS:
Infelizmente, não há um seletor de CSS que selecione o elemento irmão anterior. Existe apenas para o próximo elemento irmão:
x ~ y
Usando jQuery
Verificando o comprimento do texto do elemento com a função text ()
Verifique se o elemento possui tags filhas dentro
Verifique se há elementos vazios se eles tiverem espaço em branco
fonte
Você pode estender a funcionalidade do jQuery assim:
Ampliar :
Usar :
fonte
Experimente isto:
Não é o mais bonito, mas deve funcionar. Ele verifica se o innerHTML (o conteúdo de #leftmenu) é uma string vazia (ou seja, não há nada dentro dela).
fonte
No meu caso, eu tinha vários elementos para ocultar em document.ready. Esta é a função (filtro) que funcionou para mim até agora:
ou .remove () em vez de .hide (), o que você preferir.
Para sua informação: Esta, em particular, é a solução que estou usando para ocultar células de tabela vazias irritantes no SharePoint (além desta condição "|| $ (this) .children (" menu "). Length".
fonte
fonte
Eu encontrei isso hoje e as respostas aceitas não funcionaram para mim. Aqui está como eu fiz.
Minha solução verifica se há algum elemento dentro do div, de modo que ainda marcará o div vazio se houver apenas texto dentro dele.
fonte
você também pode usar isto:
Acho que vai funcionar para você!
fonte
fonte