-1

我在数据库中有几个项目,我在 href 中显示每个项目的 id 的链接。

所以我想从 PHP while 循环中的 href 获取 id。所以我做了一个for循环来做到这一点,但它似乎只得到了第一个href attr。

for (var i = 0; i < check; i++) 
{
   var id = $(".id").attr('href');
   console.log(id);
} 

Check等于数据库中的列数取决于一个特殊的 id。在这种情况下检查 = 3

链接是:echo '<a id="dislike" class="btn-primary btn pull-right id" href="'.$items['id'].'">Dislike</a>';

知道为什么它不起作用吗?

我都得到了!

但是我怎样才能让它们脱离这个功能呢?

function checkingfetchresult(userid){

    $.post("ajax/checkingfetchresult.php", { userid: userid },
            function(check){
            $(".id").each(function(){
                var id = $(this).attr('href');
            });

    });

}
4

3 回答 3

1

您在每次迭代中选择相同的元素,然后获取集合中第一个元素的属性。而不是像那样循环,你应该使用each

$(".id").each(function(){
   var id = $(this).attr('href');
   console.log(id);
});
于 2013-09-17T16:43:42.257 回答
0

你每次都得到第一个元素,并记录它的href. 如果循环每次都做同样的事情,你不能指望循环表现不同吗?

如果要获取所有元素的所有href属性.id,请使用map

$('.id').map(function () { return $(this).attr("href") });

它将返回一个数组,其中每个元素都是href对应.id元素的。

于 2013-09-17T16:42:52.867 回答
0

$(".id")返回一个类似数组的对象,包含所有匹配的元素。你真正想做的是:

var idArray = $(".id");
for (var i = 0; i < check; i++) {
    var id = $(idArray[i]).attr('href');
    console.log(id);
} 
于 2013-09-17T16:44:44.670 回答