使用eq在Jquery中循环

时间:2012-01-16 01:11:20

标签: jquery

我想使用循环来显示链接的标题。包含在div“test”中我写这样的代码:

$("#test a").each(function (index) {
    alert($("#test a:eq(index)").attr("title"));
})

我得到的结果是“未定义”。如果我改变

alert($("#test a:eq(0)").attr("title"))

它正常工作。任何人都可以帮助我???谢谢你的帮助

3 个答案:

答案 0 :(得分:3)

.each已经循环遍历a元素,只需提醒标题:

$("#test a").each(function () {
    alert( this.title );
});

答案 1 :(得分:2)

您正在使用index作为字符串的一部分。您必须连接index

$("#test a").each(function(index) {
    alert( $("#test a:eq(" + index + ")").attr("title") );
});

但你真的不需要那样。您只需使用this关键字:

即可
$("#test a").each(function() {
    alert( $(this).attr("title") );
});

this关键字将始终是循环中的当前节点。

答案 2 :(得分:0)

为了清楚起见,我总是指定键和值参数。 k是索引计数,v是选择器对象,例如

$("#test a").each(function(k, v){
    alert($("#test a:eq(" + k + ")").attr("title"));
});

Heres a working example