根据div中的链接数量确定单击了哪个链接

时间:2013-07-01 21:28:38

标签: javascript jquery

我很难解释这个,所以,如果我不清楚,请告诉我。

我正在创建一个脚本来计算div中的图像数量,然后在另一个div中生成相同数量的链接。我需要知道div中有多少链接,以及每个链接位于哪个位置。

以下是一个例子:

图片:

<div class="images">
<img src="/example01.jpg" />
<img src="/example02.jpg" />
</div>

通过jQuery生成的链接

<div class="links">
<a href="#">Example 01</a>
<a href="#">Example 02</a>
</div>

当用户点击其中一个生成的链接时需要点击的其他链接:

<div class="otherLinks">
<a href="#" rel="0">REL 0</a>
<a href="#" rel="1">REL 1</a>
</div>

基本上,我需要计算链接数,然后单击具有正确REL的链接。如果有意义的话,我无法弄清楚哪个是正确的REL。因此,如果用户单击Example 01,我希望我的jQuery单击REL 0。

我确信有一种方法可以使用计数器来做到这一点,我只是想不出来。

2 个答案:

答案 0 :(得分:2)

$(document).on('click', '.links a', function(){
    $('a[rel="'+$(this).index()+'"]').trigger('click');
});

我不确定你的链接是否是动态生成的,所以我在这里使用了事件委托来处理它。请将document替换为从未删除/替换的最接近的静态父元素。

此外,.trigger('click')只会触发click events that have been bound by jQuery。例如,它不会触发href值并根据该操作重定向。

答案 1 :(得分:0)

您可以使用.length来计算号码。生成的链接,然后单击.links a获取单击锚点的索引,然后在otherlinks div

内的同一锚点索引上触发click事件
var count=$("div.links a").length;

$("div.otherlinks  a").click(function(){
alert($(this).attr("rel"))
})
$("div.links a").click(function(){
var index=$(this).index();
$("div.otherlinks a:eq("+index+")").trigger("click");
})