【问题标题】:Finding the only visible <div> which contains a dynamic <ul> and returning the <ul> id查找包含动态 <ul> 的唯一可见 <div> 并返回 <ul> id
【发布时间】:2011-08-01 03:12:03
【问题描述】:

我有一堆动态标签(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 找出哪个 tab (div) 可见的最佳方法。由于标签是动态的,我不知道 id,但我知道隐藏了哪些 div,因此我只剩下一个可见的 div。

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

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

JavaScript 让我头疼!

谁能帮忙。谢谢。

【问题讨论】:

    标签: jquery list jquery-ui-sortable selected posting


    【解决方案1】:
    $('#collection > div:visible > ul').attr('id')
    

    【讨论】:

    • @Haraldo 欢迎来到 StackOverflow ;)
    • 谢谢,完美运行 - 我认为这会很困难!
    【解决方案2】:

    理论:我假设您所有的隐藏选项卡都有“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...

    【讨论】:

      猜你喜欢
      • 2014-11-10
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 2014-10-27
      • 2011-10-08
      相关资源
      最近更新 更多