2013-06-13 5 views
-3

J'ai certaines tables imbriquées dans divs, et certaines d'entre elles sont vides, ou contiennent un espace, ou contiennent un seul caractère comme "-", et je l'appelle EMPTY DIVs. Comment puis-je supprimer le EMPTY DIVs décrit ci-dessus en utilisant JavaScript lors du chargement du document?Supprimer des divs vides avec des tables

Une partie de mes DIVs VIDES est comme ça

<div class="extra"> 
<table> 
    <tr> 
    <td></td> 
    </tr> 
</table> 
</div> 

ou

<div class="extra"> 
<table> 
    <tr> 
    <td>-</td> 
    </tr> 
</table> 
</div> 
+0

Est-ce que votre div a reçu une classe ou un identifiant? – caramba

+0

Oui! Mais en raison de l'ajout en masse de divs, leurs classes sont les mêmes. – Darklizard

+1

@Darklizard utilisez-vous la bibliothèque jQuery sur ce site? – rab

Répondre

2

Essayez

$('.extra').filter(function(){ 
    var text = $.trim($(this).find('table').text()); 
    return text == '' || text == '-'; 
}).remove() 

Démo: Fiddle

+0

+1 pour l'utilisation de' filter' et le code de style jQuery – rab

+0

fonctionne certainement! Merci! – Darklizard

0

Essayez cette façon,

vous pouvez utiliser $('#yourdivid').text() pour obtenir les valeurs de la div, comparer avec les valeurs que vous voulez et utilisez la méthode ci-dessous pour supprimer les divs.

var rdiv = document.getElementById('yourdivid'); 
    rdiv.parentNode.removeChild(rdiv); 
3

essayer cette

var $emptyDivs = $(); 

$('div table').each(function(){ 
    // getting table text, replaced with space 
    var c = $(this).text().replace(/\s/g,''); 
    // add condition for empty check 
    if (c =='' || c == '-'){ 
     // add parent div 
     $emptyDivs.push($(this).closest('div')[0]); 
    } 
}); 

// remove empty div 
$emptyDivs.remove(); 

Espérons que cela aide ..

0

essayez ceci:

$(".extra").find("table").each(function(){ 
    if($.trim($(this).find("tr td").text()) == "" || $.trim($(this).find("tr td").text()) == "-") 
     { 
     $(this).parents(".extra:first").remove(); 
     } 

}); 
Questions connexes