-1

データベースにいくつかのアイテムがあり、href に各アイテムの ID を含むリンクを表示しています。

PHP while ループにある href から ID を取得したいと考えています。だから私はそれを行うためにforループを実行しましたが、最初のhref属性のみを取得するようです.

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属性を取得する場合は、次を使用します。.idmap

$('.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 に答える