【问题标题】:Problem to append new IMG element, wrapped in DIV, in Opera browser在 Opera 浏览器中附加新的 IMG 元素(包含在 DIV 中)的问题
【发布时间】:2011-01-24 02:08:10
【问题描述】:

我在 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 或我有问题,我就无法理解?

感谢您的帮助。

山姆

【问题讨论】:

    标签: jquery dom opera


    【解决方案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>');
    

    【讨论】:

    • 哇,谢谢!它奏效了,你救了我的命:)。但真的,你认为它可能比我的代码更多的是 Opera 问题吗?我看不出在其他浏览器中它是如何工作的,但在 Opera 中却出错了。也许我们在这里发现了 Opera 中的错误?
    • 我不知道这个错误,也许你应该填写一个错误报告@Opera 看看他们是怎么说的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 2014-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多