我很难解释这个,所以,如果我不清楚,请告诉我。
我正在创建一个脚本来计算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 :(得分: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
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");
})