我有一个 if 语句来检查我的 div 下是否没有可见的东西,如果是,我隐藏子元素的兄弟姐妹。
var $remainingprojects = $searchproject.show().filter(function () {
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase();
return !~text.indexOf(val);
}).parents('.srcprojects');
var $remainingprojectscontainer = $remainingprojects.parents('.projectscontainer');
$remainingprojects.hide();
$remainingprojectscontainer.each(function() {
if($(this).children('.srcprojects:visible').length == 0){//This line
console.log($(this).children('.projectschildren').html());
$(this).children('.projectschildren').hide();
$(this).children('.projectschildren').siblings('.destarrow').hide();
$(this).children('.projectschildren').siblings('.destproject').hide();
}
});
它似乎正在工作,但仍然隐藏了这个子元素的兄弟姐妹:
<div class="srcprojects" style=""></div>
满足此条件的所有其他内容都已将样式设置display:none;
为如下所示:
<div class="srcprojects" style="display: none;"></div>
我在每个容器下都有多个 srcprojects。因为它是搜索,所以部分或全部将被隐藏。如果容器下的 srcproject 都不可见,我想要的是隐藏兄弟姐妹。
编辑:为上下文添加了周围的代码。