2013-07-01 155 views
0

我很难解释这个,所以请让我知道,如果我不清楚。找出哪个链接被点击,根据链接的数量

我创建了一个脚本来计算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。

我确定有一种方法可以使用计数器来做到这一点,我只是无法弄清楚。

+0

这不是完全清楚锚的相同指数的点击事件。当用户点击链接时,您可以使用点击处理程序拦截该链接。你会知道从发送到处理程序的事件数据或'this'对象中点击了哪个链接。在你的问题的后半部分,你是说你需要点击_two_链接?你期望如何工作? – 2013-07-01 21:34:45

回答

2
​​

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

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

+0

绝对完美,谢谢。我会将这个'.index()'标记下来以备将来参考,正是我所期待的。 – JacobTheDev

0

您可以使用.length来统计no。链接生成的,然后就.links a点击获得点击锚的索引,然后触发内部otherlinks

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"); 
})