0

我有这段代码可用于从 You Tube 检索数据。我可以通过警报消息看到这一点。问题在于 IE8 及以下版本,它不会将 3 个项目的列表输出到页面。它只输出最后一张图像。

您可以在 jsfiddle 上查看代码

非常感谢任何帮助。

$.each(data.feed.entry.slice(1, 4), function(i, item) {
                        //if(i == 3) return false;
                        var title = item.title.$t;
                        var url = item.link[0].href;
                        var thumbUrl = item.media$group.media$thumbnail[0].url;
                        thumbs_data += '<li><a href="'+ url +'" title="'+ title +'"><img alt="'+ title+'" src="'+thumbUrl+'"</a></li>';
                        alert(thumbs_data);
                    });
4

1 回答 1

1

查看 IE8 中的代码后,一个可能的问题是其中item.title.$t包含引号,我认为这可能会弄乱您生成的 HTML。您可以尝试通过更改来删除引号:

var title = item.title.$t;

对此:

var title = item.title.$t.replace(/"/g, "");

而且,我发现的另一个问题是您在生成的 HTML 中的 img 标记上缺少右括号。


将 thumbs_data 行更改为此添加 img 标签的结束 >:

thumbs_data += '<li><a href="'+ url +'" title="'+ title +'"><img alt="'+ title+'" src="'+thumbUrl+'"></a></li>';

一旦你修复了这些,你可以在 IE8 中看到这个 jsFiddle 工作:http: //jsfiddle.net/jfriend00/7L2Ws/

注意:我通过输出每次通过循环添加到的生成的 HTML 发现了这个问题,因此我可以查看 HTML 以了解问题出在thumbs_data哪里。console.log()

于 2012-08-13T10:34:49.870 回答