点击每个链接排名

时间:2015-04-06 19:43:56

标签: jquery

我的函数计算页面上有多少个锚点,并在点击时返回其计数。但是,我需要在最初的点击功能中包含此功能

$("a").each(function(count) {
    $(this).on("click", function(){
        $(this).data('link'+count); 
            alert('link'+count);
            return false;
    });
});

演示:http://jsfiddle.net/43tmut7t/15/

像这样:

$('a').click(function(event) {
    if () { 
//do stuff
    } else { 
//otherwise do this
    }
});

3 个答案:

答案 0 :(得分:1)

如果要获取单击锚点的索引,请使用jQuery' .index()函数:

$('a').on("click", function () {
    alert('link' + $('ul li').index($(this).parent() ));
    return false;
});

<强> jsFiddle example

否则,如果您计算点击每个链接的次数后,则无需使用.each()count

$('a').data('link',0).on("click", function () {
    $(this).data('link', $(this).data('link') + 1);
    alert('link' + $(this).data('link'));
    return false;
});

<强> jsFiddle example

使用自定义数据属性存储每个链接的点击次数,最初将其设置为零。

答案 1 :(得分:1)

我认为这就是你的目标

http://jsfiddle.net/43tmut7t/16/

$("a").click(function () {
    var count = $(this).index('a');
    alert('link' + count);
    return false;
});

这样,它将根据页面上的所有锚点返回索引,而不管结构

答案 2 :(得分:0)

在第二种情况下,$(this).each(...)只会被调用一次 - 对于this元素。

如果您希望处理所有内容,则应将其替换为$("a").each(...)