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。因此,如果用户单击示例 01,我希望我的 jQuery 单击 REL 0。

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

4

2 回答 2

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值并基于该操作进行重定向。

于 2013-07-01T21:32:34.663 回答
0

你可以用它.length来数数。生成的链接数,然后单击获取单击锚点的索引,然后在div.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");
})
于 2013-07-01T21:36:23.447 回答