getJSON 関数内で変数値が正しく設定されていません。変数 $videoId は、最初のアラートで予想どおり 396 と 397 を表示します。
しかし、2 番目のアラートでは、値 397 が 2 回表示されます。
ここで何か不足していますか?この種の問題について議論している他の投稿は見つかりませんでした。もしそうなら、私をそこに向けてください。
以下はjQueryコードです。
$( "div .ow_video_list_item").each(function(){
$videoId = $(this).children("a").attr("href").split("/")[5];
alert($videoId); ==> First Alert
$.getJSON("video/get-embed/" + $videoId + "/", function (data)
{
$.each(data, function (key, code) {
alert($videoId); ==> Second Alert
});
});
});
以下は HTML コードです。
<div class="ow_video_list_item ow_small">
<a href="http://site.com/video/396">Video 1</a>
</div>
<div class="ow_video_list_item ow_small">
<a href="http://site.com/video/397">Video 2</a>
</div>