2009-05-21 63 views
0

我有以下的html,我想隐藏所有lsHeader,它没有与jquery类联系的下一个元素。如何隐藏某个类没有下一个元素的元素?

<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> 

注意

lsHeader一直没有孩子,我想基于未来元素进行检查。

回答

4

这个怎么样:

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

根据您的具体需求,您可能希望接下来nextAll更换。

1

您是否生成(X)HTML?如果是的话:

<style>.IsHeader.empty {display: none;}</style> 
<div id="D" class="lsHeader empty">D</div> 
相关问题