在Opera浏览器中添加包装在DIV中的新IMG元素的问题

时间:2011-01-24 02:08:10

标签: jquery dom opera

我在Opera浏览器上测试脚本时遇到了奇怪的问题。 一个脚本任务,从youtube获取大拇指图像,并将它们放入<DIV>容器中。 所以我做了以下几点:

$ytbID = $ytbURL.match("(.+?)(\/v/)([a-zA-Z0-9_-]{11})+");
$ytbImg = "http://img.youtube.com/vi/"+$ytbID[3]+"/2.jpg";

//building container for youtube image
$(this).before('<div class="youtoobin" align="left"></div>');
$(this).prev(".youtoobin").append('<div class="thumby" style="background-image:url(' + $ytbImg +'); width:120px;height:90px;cursor:pointer;"><img style="margin:31px 38px;" src="/myscripts/mini-play.png"/></div>');

现在Opera中的奇怪之处在于,它有时会起作用,有时却不起作用,我的意思是有时“append()”会返回null。它在我测试的所有其他浏览器(FF,Chrome,IE 6,7,8)中完美运行。如果append()与Opera或我有问题,我无法得到?

Thanx寻求帮助。

萨姆

1 个答案:

答案 0 :(得分:1)

可能是一个“计时”问题(当您尝试向其中插入内容时,您追加的div尚未就绪),这会给出什么:

var $div = $('<div class="youtoobin" align="left"></div>');
$(this).before($div);
$div.append('<div class="thumby" style="background-image:url(' + $ytbImg +'); width:120px;height:90px;cursor:pointer;"><img style="margin:31px 38px;" src="/myscripts/mini-play.png"/></div>');