YouTube图片自动标题jQuery

时间:2012-02-06 21:16:29

标签: jquery json youtube

示例:http://jsfiddle.net/CFXXC/5/ 我有下面的HTML,使用正则表达式的src我可以提取每个img的ID并使用json我可以获取图像标题并将其作为属性返回但它不起作用。

<img src="http://i2.ytimg.com/vi/3ZqlS5A9Kjc/hqdefault.jpg"/>
<img src="http://i2.ytimg.com/vi/GRLtkjLxkiY/hqdefault.jpg"/>

$('img[src^="http://i2.ytimg.com/vi/"]').each(function(){ // selector and each function
    var regex = new RegExp(/\/vi\/(.*)\//); //regex variable
    var imgsrc = $(this).attr("src"); //Individual img's src
    var id = imgsrc.match(regex)[1];
    $.ajax({
url: "http://gdata.youtube.com/feeds/api/videos/"+id+"?v=2&alt=jsonc", //using regex extracted id 
dataType: "json",
success: function (data) {parseresults(data)}
});
function parseresults(result) {
console.log(result);    
var imgtitle = result.data.title;   
$(this).attr("title", imgtitle); //setting title from extracted id
}
});
$(document).ready(function () {
        getYouTubeInfo();
});

1 个答案:

答案 0 :(得分:1)

您的变量范围错误。你在parseresult中的“this”并不是指图像。

这个怎么样( jsFiddle ):

$('img[src^="http://i2.ytimg.com/vi/"]').each(function() { // selector and each function
    var regex = new RegExp(/\/vi\/(.*)\//); //regex variable
    var imgsrc = $(this).attr("src"); //Individual img's src
    var id = imgsrc.match(regex)[1];
    var img = this;
    $.ajax({
        url: "http://gdata.youtube.com/feeds/api/videos/" + id + "?v=2&alt=jsonc",
        //using regex extracted id 
        dataType: "json",
        success: function(data) {
           parseresults(img,data)
        }
    });

    function parseresults(img,result) {
        var imgtitle = result.data.title;
        $(img).attr("title", imgtitle); //setting title from extracted id
    }
});