我的函数计算页面上有多少个锚点,并在点击时返回其计数。但是,我需要在最初的点击功能中包含此功能
$("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
}
});
答案 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(...)
。