私のデータベース内のユーザのリストをTwitch APIに問い合わせて、オンラインであるかどうかを確認しています。jqueryがこのセレクタを使用して表示するdivを取得できません
私は基本的に「表示:なし」で、それらすべてを一覧表示していますし、オンラインならば非表示解除:私のテストで
$('.online_list').each(function (index) {
var tnick = $(this).data('tnick');
$.getJSON("https://api.twitch.tv/kraken/streams?client_id={:twitch_key}&channel="+tnick+"", function(a) {
if (a["streams"].length > 0)
{
alert(tnick);
$(this).show();
console.log(index + ": " + $(this).text());
}
});
});
、完全にalert(tnick)
作品なので、私はそれが実行している知っています。問題は$(this).show();
が機能していないことです。
<div class="online_list" data-tnick="test" style="display: none;">test:<a href="https://www.twitch.tv/test">Twitch</a> <span>(Online)</span></div>
<div class="online_list" data-tnick="test2" style="display: none;">test2:<a href="https://www.twitch.tv/test2">Twitch</a> <span>(Online)</span></div>
うん、それはまさにそれでした。ここでは100人のようなリストを持つことができるので、私のコードがどれほど穏やかであるかはわかりませんが、これは100個のAPIコールがTwitchに呼び出されて終了しますが、動作していてかなり速いようです。改善のための提案?追加リンクをありがとう。 – NaughtySquid
条件が「未定義のエラー」になる可能性があります。残りの部分lgtm – webdeb