Mira hice un ejemplo rapido de lo que yo entiendo que quieres hacer, revisalo y me dices si te sirvio de algo, siquieres primero pruebalo tal cual para que veas su funcionamiento, le puse muchos comentarios
Código HTML:
Ver original<!DOCTYPE html>
/**
* Con esta funcion cargas el feed de los videos
* y una vez que se han cargado todos llamas a la funcion "callback"
*
* @param {Array} list - Un arreglo con los id's de los videos
* @param {Function} callback - La funcion que se llama cuando todos los datos de los videos se han cargado
*/
function getXMLinfo(list, callback) {
var path = 'http://gdata.youtube.com/feeds/videos/',
videosInfo = [], // El array que contiene los datos de los videos
url, YQL,
cuantos = 0, total = list.length; // cuantos van cargados y cuantos son en total
// por cada id de video
for(var i in list) {
url = path + list[i];
YQL = 'http://query.yahooapis.com/v1/public/yql?q=' + encodeURIComponent('select * from xml where url="' + url + '"') + '&format=xml&callback=?';
// Comenzar la carga del feed
$.getJSON(YQL, function (XMLData) {
// Otro consejo cuando use jquery trata de evitar repetir por todos lados
// $(XMLData.results[0]) y despues al rato $(XMLData.results[0]) otra vez
// mejor ponlo en una variable ok?
var feed = $(XMLData.results[0]);
// Aqui vas poniendo todo en el array
videosInfo.push({titulo: feed.find('title').text(),
descripcion: feed.find('media\\:description').text()});
cuantos++;
// Si ya se cargaron todos entonces llamas a la funcion que pusiste como callback
if(cuantos == total) callback.call(null, videosInfo);
});
}
}
// Pasas los ids, y la funcion que se llamara cuando todo el contenido se cargue
getXMLinfo([
'VurhzANQ_B0',
'ZXTC0SmgE2s',
'jUkoL9RE72o',
'Fi_GN1pHCVc',
'oJaBHSIRVlE',
'94bGzWyHbu0'
], function (info) { // Info es el array que getXMLinfo se llamaba videosInfo
var datos = $('#datos');
// como ejemplo los meto en div#datos
for(var i in info) {
datos.append('
<p><strong>'+info[i].titulo+'
</strong><br /> '+info[i].descripcion+'
</p>');
}
});
Ah y te dejo una captura ¬¬ (para que luego no digas que no funciona) jajaja ntc
Saludos!