使用类似于jQuery中“active”的类选择器获取nth-child param值

时间:2012-09-17 09:37:18

标签: jquery zurb-foundation css-selectors

如何在jQuery中使用等于“active”的类选择器获取nth-child param值?

我不确定这是否合乎逻辑,但我想确定当前通过nth-param值选择了哪个dd元素列表。

代码实际上是来自Foundation的Vertical Tabs的垂直标签循环。

<dl class="vertical tabs">  
<?php foreach($tabs as $key):?>
    <dd id="ver_tab"><a href="javascript:void(0)" onclick="ajaxFunc('<?php echo ($key['group_name']) ?>')" id="ver_tab_a"><?php echo ucwords($key['group_name']);?></a></dd>        
<?php endforeach ?>
    <dd><a id="new_group_button" href="#new_group_form">+ New Group</a></dd>

我有一个动态获取数据的标签列表。我底部还有一个静态标签,可以添加一个新组。单击动态生成的选项卡上的选项卡将添加一个值为“active”的类我想要的是当我单击静态选项卡时,一个模态打开,当我取消模态时(模态也来自Foundation的Reveal),在单击静态选项卡之前,所选选项卡应还原为活动选项卡。

在我的jQuery上我有:

$("#ver_tab:nth-child("+x+")").attr("class","active");

要还原到之前选择的选项卡,其中x是所选选项卡的第n个子项。

非常感谢!

2 个答案:

答案 0 :(得分:0)

听起来你正试图获得.active元素的.index()

$('dd.active').index('dd')

答案 1 :(得分:0)

经过长时间的搜索,我终于弄明白了。

虽然这个答案采用不同的方法,但它解决了我如何识别当前所选标签索引号的问题。

这就是我的所作所为。 在我的:

<dd id="ver_tab"><a href="javascript:void(0)" onclick="ajaxFunc('<?php echo ($key['group_name']) ?>')" id="ver_tab_a"><?php echo ucwords($key['group_name']);?></a></dd>

我在:

添加了另一个参数
onclick="('<?php echo ($key['group_name']) ?>')"

所以看起来像:

onclick="('$(this)','<?php echo ($key['group_name']) ?>')"

然后在我的ajaxFunc上:

function ajaxFunc(x, group_name){
    var pos = x.closest("dd").index;
}

pos变量现在应该包含当前所选标签的索引值。

感谢此帖Jquery index can't find element (-1) wrong input (with live function)!救我这么多时间!