我有以下html,我想使用jquery隐藏所有没有下一个元素与类联系人的lsHeader。
<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没有孩子,我想根据下一个元素进行检查。
答案 0 :(得分:4)
这个怎么样:
$(".lsHeader").each(function() {
if (!$(this).next().is("div.contact")) {
$(this).hide();
}
});
根据您的具体需求,您可能希望将next替换为nextAll。
答案 1 :(得分:1)
您是否正在生成(X)HTML?如果是,那么:
<style>.IsHeader.empty {display: none;}</style>
<div id="D" class="lsHeader empty">D</div>