Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果下面没有div,则隐藏标题_Javascript_Jquery_Html_Hide - Fatal编程技术网

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();
        }