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 が 1 つ残ります。

どうにかして、表示されている 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

理論:非表示のタブはすべて、id 属性値として「tab-something」があり、クラス名に「hidden」があると想定しています。したがって、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 に答える