数据父属性不适用于崩溃 bootstrap v4-alpha

data-parent attribute not working on collapse bootstrap v4-alpha

我想在单击第二个可折叠元素后关闭第一个可折叠元素,但它不起作用。

<div class="row">
  <div class="col-md-12">
    <div id="advancedOptions">
      <p class="advanced-search-options ml-1">
        <a role="tab" data-toggle="collapse" data-parent="#advancedOptions" href="#advancedSearchOptions" aria-expanded="false" aria-controls="advancedSearchOptions">Advanced search options</a>
        or browse by
        <a role="tab" data-toggle="collapse" data-parent="#advancedOptions" href="#areaList" aria-expanded="false" aria-controls="areaList">area list</a>
      </p>

      <div class="collapse" id="advancedSearchOptions" aria-labelledby="advancedSearchOptions">
        Advanced Search Options
      </div>
      <div class="collapse" id="areaList" aria-labelledby="areaList">
        Area List
      </div>
    </div>
  </div>
</div>

JSFiddle:https://jsfiddle.net/Lppf5r2z/

只需向您的 a[role="tab"] 添加一个点击事件,您只需要在其中隐藏所有打开的 collapse

$('a[role="tab"]').on('click',function(){
    $('.collapse').collapse('hide');
});

UPDATED FIDDLE

请遵循此代码。

Html

<div class="row">
  <div class="col-md-12">
    <div id="advancedOptions">
      <p class="advanced-search-options ml-1">
        <a role="tab" data-toggle="collapse" data-parent="#advancedOptions" href="#advancedSearchOptions" class="link-data" aria-expanded="true" aria-controls="areaList">Advanced search options</a>
        or browse by
        <a role="tab" data-toggle="collapse" data-parent="#advancedOptions" href="#areaList" class="link-data" aria-expanded="false" aria-controls="advancedSearchOptions">area list</a>
        <a role="tab" data-toggle="collapse" data-parent="#advancedOptions" href="#areaList1" class="link-data" aria-expanded="false" aria-controls="advancedSearchOptions">area list 1</a>
      </p>

      <div class="collapse div-custom" id="advancedSearchOptions" aria-labelledby="advancedSearchOptions">
        Advanced Search Options
      </div>
      <div class="collapse div-custom" id="areaList" aria-labelledby="areaList">
        Area List
      </div>
      <div class="collapse div-custom" id="areaList1" aria-labelledby="areaList">
        Area List 123
      </div>
    </div>
  </div>
</div>

jQuery:

$(document).ready(function(){
        var hide_id = "";
        $(".link-data").click(function () {
            if(hide_id != null && hide_id != ''){
                $(hide_id).hide('slow');
            }
            hide_id = $(this).attr("href");
        });
    });

或者您可以通过此代码完成。

$(".link-data").click(function () {
    $('.collapse').collapse('hide');
});

在此 html 代码中,您只需添加 class="link-data"

<a role="tab" data-toggle="collapse" data-parent="#advancedOptions" href="#advancedSearchOptions" class="link-data" aria-expanded="true" aria-controls="areaList">Advanced search options</a>

最后一个选项比第一个好。