2009-05-21 7 views
0

J'ai le html suivant, et je veux cacher tout lsHeader qui n'a aucun élément suivant avec le contact de classe utilisant jquery.Comment cacher des éléments qui n'ont pas d'éléments suivant avec une certaine classe?

<div id="B" class="lsHeader">B</div> 
    <div id="contact_1" class="contact"> B.Contact1</b/> 
    <div id="contact_2" class="contact"> B.Contact2</b/> 
    <div id="contact_3" class="contact"> B.Contact3</b/> 
    <div id="contact_4" class="contact"> B.Contact4</b/> 
    <div id="contact_5" class="contact"> B.Contact5</b/> 
<div id="C" class="lsHeader">C</div> 
    <div id="contact_6" class="contact"> C.Contact6</b/> 
    <div id="contact_7" class="contact"> C.Contact7</b/> 
    <div id="contact_8" class="contact"> C.Contact8</b/> 
    <div id="contact_9" class="contact"> C.Contact9</b/> 
    <div id="contact_10" class="contact"> C.Contact10</b/> 
<div id="D" class="lsHeader">D</div> 
<div id="F" class="lsHeader">F</div> 

Remarque

lsHeader n'a pas d'enfants, je veux vérifier en fonction des éléments suivants.

Répondre

4

Qu'en est-ce:

$(".lsHeader").each(function() { 
    if (!$(this).next().is("div.contact")) { 
     $(this).hide(); 
    } 
}); 

En fonction de vos besoins spécifiques, vous voudrez peut-être remplacer ensuite avec nextAll.

1

Générez-vous le (X) HTML? Si oui, alors:

<style>.IsHeader.empty {display: none;}</style> 
<div id="D" class="lsHeader empty">D</div> 
Questions connexes