Javascript 如果下面没有div,则隐藏标题
我有一些像这样的层次Javascript 如果下面没有div,则隐藏标题,javascript,jquery,html,hide,Javascript,Jquery,Html,Hide,我有一些像这样的层次 <div class="evenprop">some prop</div> <div class="evenprop">some prop2</div> <div class="evenprop">some prop3</div> <h3 class="otherprop">Other Props</h3> <div class="evenprop">some p
<div class="evenprop">some prop</div>
<div class="evenprop">some prop2</div>
<div class="evenprop">some prop3</div>
<h3 class="otherprop">Other Props</h3>
<div class="evenprop">some prop4</div>
<div class="evenprop">some prop5</div>
一些道具
一些建议2
一些建议3
其他道具
一些道具
一些道具
这很好,但是如果数据看起来像这样,我需要隐藏“otherprop”类
<div class="evenprop">some prop</div>
<div class="evenprop">some prop2</div>
<div class="evenprop">some prop3</div>
<div class="evenprop">some prop4</div>
<div class="evenprop">some prop5</div>
<h3 class="otherprop">Other Props</h3>
var nxtSib = document.getElementsByClassName('otherprop')[0].NextSibling;
if(nxtSib != 'evenprop')
nxtSib.style.display = 'none';
一些道具
一些建议2
一些建议3
一些道具
一些道具
其他道具
层是动态放置的,所以不知道如何做,我需要说,如果类“otherprop”下没有数据,那么隐藏“otherprop”如果有意义的话
如果没有以下数据,则为所需结果
<div class="evenprop">some prop</div>
<div class="evenprop">some prop2</div>
<div class="evenprop">some prop3</div>
<div class="evenprop">some prop4</div>
<div class="evenprop">some prop5</div>
一些道具
一些建议2
一些建议3
一些道具
一些道具
但如果有以下数据
<div class="evenprop">some prop</div>
<div class="evenprop">some prop2</div>
<div class="evenprop">some prop4</div>
<div class="evenprop">some prop5</div>
<h3 class="otherprop">Other Props</h3>
<div class="evenprop">some prop3</div>
一些道具
一些建议2
一些道具
一些道具
其他道具
一些建议3
非常感谢
杰米试试这样
<div class="evenprop">some prop</div>
<div class="evenprop">some prop2</div>
<div class="evenprop">some prop3</div>
<div class="evenprop">some prop4</div>
<div class="evenprop">some prop5</div>
<h3 class="otherprop">Other Props</h3>
var nxtSib = document.getElementsByClassName('otherprop')[0].NextSibling;
if(nxtSib != 'evenprop')
nxtSib.style.display = 'none';
在CSS中尝试以下操作:
.otherprop:last-child {
display: none;
}
无论何时动态更改那里的数据,都可以检查是否存在这样的东西,例如
var op = $('.otherprop');
if(op.nextAll('div').length) {
op.show();
else {
op.hide();
}
除了使用op.show()
和op.hide()
,我还建议使用op.addClass('available')
和op.removeClass('available')
以及以下附带的css
.otherprop {
display: none;
}
.otherprop.available {
display: block;
}
未经测试,但应该有效。谢谢您的回答,但这就是我最终获得理想结果的原因
if ($('.property > .evenprop').is(':visible')){
$('.otherprop').show();
} else {
$('.otherprop').hide();
}