0

我有一堆动态标签(div),例如:

<div id="collection">

  <div id="tab-1">
    <ul id="sortable-tab-1">
      <li>
      </li>
    </ul>
  </div>

  <div id="tab-2" class="hidden">
    <ul id="sortable-tab-2">
      <li>
      </li>
    </ul>
  </div>
  .... etc ...
</div>

我正在寻找使用 jquery 找出哪个选项卡(div)可见的最佳方法。由于标签是动态的,我不知道 id,但我知道哪些 div 是隐藏的,因此给我留下了一个可见的 div。

我需要以某种方式找到可见 div的ul id ,然后返回 ul id。所以我的结果是'sortable-tab-1'。

基本上我需要知道选择了哪个选项卡,以便发布正确的可排序列表。

JavaScript 让我头疼!

任何人都可以帮忙。谢谢你。

4

2 回答 2

5
$('#collection > div:visible > ul').attr('id')
于 2011-04-08T00:10:32.780 回答
0

理论:我假设您所有的隐藏选项卡都具有“tab-something”作为 id 属性值和“隐藏”在类名中。因此,如果您找到一个没有 class="hidden" 的潜在 div,那么您可以从中找到任何东西。

代码:

  $("div#collection > div[id^=tab-").each(function(index)
  {
    if($(this).hasClass("hidden")==false)
        return $(this).children("ul").attr("id");
  }

注意:如果您有多个具有“隐藏”类的 div,则只会返回最后一个 div 的标签 id...

于 2011-04-11T12:30:28.073 回答