2009-04-05 11 views
1

Je voudrais supprimer/cacher un li basé sur le contenu à l'intérieur, est-ce facile à faire?jQuery Supprimer Div basé sur le contenu

par ex. le code ci-dessous: si span # type n'a pas de contenu alors li.grouping devrait être supprimé ou caché.

<li class="grouping"><span class="desc">Options:</span><br /><span id="type"></span></li> 

Répondre

3
$("li.grouping:has(span#type:empty)").remove() 

Il semble plus logique si type étaient un class, au lieu d'un id, car il ne devrait y avoir un élément avec une donnée id sur la page. Dans ce cas:

$("li.grouping:has(span.type:empty)").remove() 
+0

merci brian, parfait! – mattt

+0

désolé cerveau, presque parfait. les erreurs de page dans le cas où span.type n'est pas vide. Pouvons-nous répondre à cela? Je place le code juste avant la balise de fermeture. --- $ ("li.grouping: a (span.type: vide)") est nul --- – mattt

+0

Hmm. Cela fonctionne bien pour moi en utilisant jquery 1.3.2 dans Safari 4 beta et Firefox 3.0.5. http://ephemera.continuation.org/stackoverflow/jquery.html –

0

peut-être quelque chose comme

if ($("span#type").text() == "") { 
    $("li.grouping").hide(); 
} 
+0

Ceci masquerait tout "li.grouping" si une seule partie était vide. – peirix

+0

une travée? ou une envergure de type de classe? J'ai supposé que la page aura un seul 'span # type' – Aziz

Questions connexes