0

如何在 jQuery 中使用等于“活动”的类选择器获取第 n 个子参数值?

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

该代码实际上是来自 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>

我有一个选项卡列表,其中包含动态获取的数据。我在底部还有一个静态选项卡,可以添加一个新组。单击动态生成的选项卡中的选项卡将添加一个值为“活动”的类我想要的是当我单击静态选项卡时,一个模态打开并且当我取消模态时(模态也来自 Foundation 的 Reveal),在单击静态选项卡之前,选定的选项卡应恢复为活动选项卡。

在我的 jQuery 上,我有:

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

恢复到先前选择的选项卡,其中 x 是所选选项卡的第 n 个子项。

非常感谢!

4

2 回答 2

0

听起来您正在尝试获取.index().active元素:

$('dd.active').index('dd')
于 2012-09-17T09:39:53.847 回答
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)!节省我这么多时间!

于 2012-09-20T07:45:01.857 回答