首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在<li>标签中包装img

在<li>标签中包装img
EN

Stack Overflow用户
提问于 2012-10-10 17:45:13
回答 1查看 516关注 0票数 0

我有一个jquery代码来从youtube频道拉出视频,并显示为拇指,并在拇指被点击时播放。

问题是,目前的图像是裸体的,我需要将它们包装在<li>标签中,这样我就可以从中创建一个旋转木马。

下面是jquery代码

代码语言:javascript
复制
(function() {
    function createPlayer(jqe, video, options) {
        var ifr = $('iframe', jqe);
        if (ifr.length === 0) {
            ifr = $('<iframe width="260" height="146" scrolling="no">');
            ifr.addClass('player');
        }
        var src = 'http://www.youtube.com/embed/' + video.id;
        if (options.playopts) {
            src += '?';
            for (var k in options.playopts) {
                src+= k + '=' + options.playopts[k] + '&';
            }  
            src += '_a=b';
        }
        ifr.attr('src', src);
        jqe.append(ifr);  
    }

    function createCarousel(jqe, videos, options) {
        var car = $('div.youtubecarousel', jqe);
        if (car.length === 0) {
            car = $('<ul>');
            car.addClass('youtubecarousel');
            jqe.append(car);

        }
        $.each(videos, function(i,video) {
            options.thumbnail(car, video, options);
        });
    }

    function createThumbnail(jqe, video, options) {
        var imgurl = video.thumbnails[0].url;
        var img = $('img[src="' + imgurl + '"]');
        if (img.length !== 0) return;
        img = $('<img>');
        img.addClass('thumbnail');
        jqe.append(img);
        img.attr('src', imgurl);
        img.attr('title', video.title);
        img.click(function() {
            options.player(options.maindiv, video, $.extend(true,{},options,{playopts:{autoplay:1}}));
        });

    }

    var defoptions = {
        autoplay: false,
        user: null,
        player: createPlayer,
        carousel: createCarousel,
        thumbnail: createThumbnail,
        loaded: function() {},
        playopts: {
            autoplay: 0,
            egm: 1,
            autohide: 1,
            fs: 1,
            showinfo: 0
        }
    };


    $.fn.extend({
        youTubeChannel: function(options) {
            var md = $(this);
            md.addClass('youtube');
            md.addClass('youtube-channel');
            var allopts = $.extend(true, {}, defoptions, options);
            allopts.maindiv = md;
            $.getJSON('http://gdata.youtube.com/feeds/users/' + allopts.user + '/uploads?alt=json-in-script&format=5&callback=?', null, function(data) {
                var videos = [];
                var feed = data.feed;
                $.each(feed.entry, function(i, entry) {
                    var video = {
                        title: entry.title.$t,
                        id: entry.id.$t.match('[^/]*$'),
                        thumbnails: entry.media$group.media$thumbnail
                    };
                    videos.push(video);
                });
                allopts.player(md, videos[0], allopts);
                allopts.loaded(videos, allopts);
                allopts.allvideos = videos;
                allopts.carousel(md, videos, allopts);


            });
        }
    });

})();

$(function() {
    $('#youtubeplayer').youTubeChannel({user:'autoxtv'});
});

我正在使用的Html代码:

<div id="youtubeplayer"> </div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-10 17:46:34

您所询问的内容可以使用jQuery的.wrap方法来实现:

代码语言:javascript
复制
$('img').wrap('<li />');

您可以尝试在createThumbnail函数中添加img.wrap('<li />');

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12816390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档