在jQuery中检索Active Accordion选项卡的第一个项目ID

时间:2014-09-01 14:59:04

标签: jquery jquery-ui-accordion

我手风琴里面有一些列表项(下面的代码)。有没有办法找出活动手风琴选项卡的第一项数据ID。例如,在页面加载时,活动选项卡是温度计,它是第二个选项卡。现在我想检索第一个选项data-id,即11。

<script>
   $(document).ready(function ()
   { 
      $("#accordion").accordion(
      {
        activate: function(event, ui)
        {
            var activeTab = $(this).accordion( "option", "active" );
            alert(activeTab);

            var intID = $('.SubCatFakeClass').attr("data-id");
            alert(intID);

        }
      });

   });
</script>

<div id="accordion">

<h3 class="">Pressure Gauge</h3>

    <div>
        <ul class="ulStyle">
            <li>
                <a href="#" data-id="2" class="SubCatFakeClass">Pressure Gauge</a>
            </li>
            <li>
                <a href="#" data-id="3" class="SubCatFakeClass">Diff. Pressure Gauge</a>
            </li>
            <li>
                <a href="#" data-id="10" class="SubCatFakeClass">Diaphragm Seal</a>
            </li>
        </ul>
    </div>

<h3 class="">Temperature Gauge</h3>
    <div>
        <ul class="ulStyle">
            <li>
                <a href="#" data-id="11" class="SubCatFakeClass">Temperature Gauge</a>
            </li>
            <li>
                <a href="#" data-id="13" class="SubCatFakeClass">Thermowell</a>
            </li>
        </ul>
    </div>

<h3 class="">Switch</h3>
    <div>
        <ul class="ulStyle">
            <li>
                <a href="#" data-id="14" class="SubCatFakeClass">Pressure Switch</a>
            </li>
            <li>
                <a href="#" data-id="18" class="SubCatFakeClass">Temperature Switch</a>
            </li>
        </ul>
    </div>

</div>

2 个答案:

答案 0 :(得分:1)

要获取有效标签:

var active = $( ".selector" ).accordion( "option", "active" ); //get active tab

获取第一个li数据ID:

$(active).find('.SubCatFakeClass:eq(0)').data('id');

$(active).find('li:eq(0)').data('id');

答案 1 :(得分:1)

您可以使用:eq选择器获取第n个div:

var intID = $(this).children("div:eq(" + activeTab + ")")
                   .find('.SubCatFakeClass')
                   .attr("data-id");

您可以使用.find('.SubCatFakeClass:first-child'),但.attr会返回第一个结果。

Fiddle Here