我有一堆动态标签(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给了我一个头痛!
任何人都可以提供帮助。谢谢。
答案 0 :(得分:5)
$('#collection > div:visible > ul').attr('id')
答案 1 :(得分: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 ...