获取带有 jQuery for 循环的值

get a value with a jquery for loop

本文关键字:循环 for jQuery 获取      更新时间:2023-09-26

我在数据库中有几个项目,我正在显示一个链接,其中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');
            });
    });
}

您在每次迭代中选择相同的元素,然后获取集合中第一个元素的属性。与其像那样循环,不如使用每个:

$(".id").each(function(){
   var id = $(this).attr('href');
   console.log(id);
});

您每次都会获得第一个元素,并记录其href。如果循环每次都做同样的事情,您不能指望它的行为会有所不同吗?

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

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

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

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

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