首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将类添加到父div (如果它有一个span作为子div

将类添加到父div (如果它有一个span作为子div
EN

Stack Overflow用户
提问于 2019-09-18 16:35:49
回答 2查看 116关注 0票数 1

在我的店里,我有许多滤镜来展示产品。我使用bootstrap-select设置过滤器的样式(dropdowns)。

当我更改筛选器值时,如果该组合没有可用的结果,其他筛选器会自动隐藏选项。

问题是,现在有一个过滤器,显示没有任何可用的选项可供选择。在这种情况下,我想完全隐藏过滤器。

如果有可用选项,代码将如下所示:

代码语言:javascript
复制
<div class="form-group ">
  <label>Serie</label>
  <div class="btn-group bootstrap-select show-tick js-wpv-filter-trigger form-control open"><button type="button" class="btn dropdown-toggle bs-placeholder btn-dropdown btn-default" data-toggle="dropdown" role="button" data-id="wpv_control_select_wpcf-serie" title="Bitte wählen..." aria-expanded="true">
  <span class="filter-option pull-left">Bitte wählen...</span>
  <span class="bs-caret">
    <span class="caret"></span>
  </span>
  </button>
    <div class="dropdown-menu open" role="combobox">
      <ul class="dropdown-menu inner" role="listbox" aria-expanded="true">
        <li data-original-index="0"><a tabindex="0" class="" data-tokens="null" role="option" aria-disabled="false" aria-selected="false"><span class="text">D-9</span><span class="fontawesome fa fa-check check-mark"></span></a></li>
      </ul>
    </div>
    <label class="custom-select">
      <select id="wpv_control_select_wpcf-serie" name="wpv-wpcf-serie[]" class="selectpicker js-wpv-filter-trigger form-control" multiple="multiple" tabindex="-98">
        <option value="D-9">D-9</option>
      </select>
      <span></span>
    </label>
  </div>
</div>

如果没有可用选项,代码将如下所示:

代码语言:javascript
复制
<div class="form-group">
  <label>Passend für Helm</label>
  <div class="btn-group bootstrap-select show-tick js-wpv-filter-trigger form-control open">
    <button type="button" class="btn dropdown-toggle bs-placeholder btn-dropdown btn-default" data-toggle="dropdown" role="button" data-id="wpv_control_select_wpcf-kompatibilitat-extern-mechanisch" title="Bitte wählen..." aria-expanded="true">
      <span class="filter-option pull-left">Bitte wählen...</span>
      <span class="bs-caret">
        <span class="caret"></span>
      </span>
    </button>
    <div class="dropdown-menu open" role="combobox">
      <ul class="dropdown-menu inner" role="listbox" aria-expanded="true"></ul>
    </div>
    <label class="custom-select">
      <select id="wpv_control_select_wpcf-kompatibilitat-extern-mechanisch" name="wpv-wpcf-kompatibilitat-extern-mechanisch[]" class="selectpicker js-wpv-filter-trigger form-control" multiple="multiple" tabindex="-98">
      </select>
      <span></span>
    </label>
  </div>
</div>

我的目标是,如果子.dropdown-menu没有li,则向.form-group添加一个类li

EN

回答 2

Stack Overflow用户

发布于 2019-09-18 16:43:08

尝试下面的代码,您可以在其中迭代每个表单组,并查找它是否包含不带li的dropdown。

代码语言:javascript
复制
$(function(){
  $('.form-group').each(function(){
     var $dropdown = $(this).find('.dropdown-menu');
     if($dropdown.find('li').length==0) {
        $(this).addClass('hide-filter');
     }
  });
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<div class="form-group">
  <label>Passend für Helm</label>
  <div class="btn-group bootstrap-select show-tick js-wpv-filter-trigger form-control open"><button type="button" class="btn dropdown-toggle bs-placeholder btn-dropdown btn-default" data-toggle="dropdown" role="button" data-id="wpv_control_select_wpcf-kompatibilitat-extern-mechanisch" title="Bitte wählen..." aria-expanded="true"><span class="filter-option pull-left">Bitte wählen...</span>&nbsp;<span class="bs-caret"><span class="caret"></span></span></button>
    <div
      class="dropdown-menu open" role="combobox">
      <ul class="dropdown-menu inner" role="listbox" aria-expanded="true"></ul>
  </div><label class="custom-select"><select id="wpv_control_select_wpcf-kompatibilitat-extern-mechanisch" name="wpv-wpcf-kompatibilitat-extern-mechanisch[]" class="selectpicker js-wpv-filter-trigger form-control" multiple="multiple" tabindex="-98"></select><span></span></label></div>
</div>

票数 1
EN

Stack Overflow用户

发布于 2019-09-18 17:07:43

这是另一种方法:

代码语言:javascript
复制
$( document ).ready(function() {
    if($( ".dropdown-menu.inner:has(li)" ).length == 0){
      $( ".form-group" ).addClass( "hide-filter" );
    }
});  
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57988433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档