Я перебираю каждый li, сгенерированный базой данных, которая выдает ссылку на YouTube на видео, на которое я хочу дать ссылку. По сути, у меня есть это:
<ul id="mediaList">
<li>
<p>http://www.youtube.com/watch?v=TOm-myVLmKU</p>
</li>
<li>
<p>http://www.youtube.com/watch?v=odNde8wQ5uA</p>
</li>
</ul>
Мне нужно пройтись по каждому элементу li, захватить ссылку на YouTube, захватить идентификатор видео, а затем получить данные JSON и конечную цель - добавить тег изображения для этого видео в элемент списка для списка СМИ
Для этого у меня есть этот код jquery (обратите внимание, что при отсутствии конфликта, $ становится $ j):
$j(document).ready(function () {
$j("#mediaList li").each(function (){
var u = $j(this).find("p").text();
var reqStart = "http://gdata.youtube.com/feeds/api/videos/";
var reqSettings = "?v=2&alt=json-in-script&callback=?";
var vid = grabytvid(u);
var request = reqStart + vid + reqSettings;
$j.getJSON(request, function(data) {
var y = (data.entry["media$group"]["media$thumbnail"][0].url);
});
$j(this).append('<img src="' + y + '" alt="" />');
});
});
Где я использую вызов YouTube API Feed:
http://gdata.youtube.com/feeds/api/videos/[Video_ID_Here]?v=2
Для справки grabytvid - это функция, которая просто разбивает и захватывает идентификатор видео:
function grabytvid(ystring)
{
var v = ystring.split("=").pop();
return v;
}
Есть какие-нибудь идеи, где я ошибаюсь?