代码之家  ›  专栏  ›  技术社区  ›  Dave Kiss

jQuery replaceWith引发返回错误

  •  0
  • Dave Kiss  · 技术社区  · 16 年前

    嘿,大家好,我正在寻找一双新的眼睛来检查这段代码,看看你能不能告诉我为什么它不能正常工作…我以前在1.3.2中使用过同样的代码,这很好,但是由于某些原因,在1.4.1中,我遇到了麻烦…我错过什么了吗?

    $(".item").click(function() {       
        var yt_vid = $(this).children('img').attr("id");
    
        $("#youtube").fadeOut(300, function() {
            $("#youtube").replaceWith('<object id="youtube" type="application/x-shockwave-flash" style="width:488px; height:300px; display:none;" data="http://www.youtube.com/v/' + yt_vid + '&hl=en_US&fs=1&hd=1"><param name="movie" value="http://www.youtube.com/v/' + yt_vid + '&hl=en_US&fs=1&hd=1" /><param wmode="transparent"><\/param><\/object>');
    
            $('#youtube').fadeIn(1000);
        });
    });
    

    在文档加载时添加youtube,代码如下:

        var initialVid = $(".item").children('img').attr("id");
    $("#youtubePlayer").append('<object id="youtube" type="application/x-shockwave-flash" style="width:488px; height:300px;" data="http://www.youtube.com/v/' + initialVid + '&hl=en_US&fs=1&hd=1"><param name="movie" value="http://www.youtube.com/v/' + initialVid + '&hl=en_US&fs=1&hd=1" /><param wmode="transparent"><\/param><\/object>');
    

    每当我点击.item时,我会在Firebug中得到错误“d is not defined”,然后在列表的第36行(youtube.fadeout行)中看到一个错误。

    谢谢!

    2 回复  |  直到 16 年前
        1
  •  2
  •   The Who    16 年前

    这个 object 标记不允许使用fadeto。

    把你的物品放在 div . 然后淡出分区。

    试试这个,而不是用

    $("#youtube").html('<object type="appli... 
    

    所以你用id=“youtube”保留分区,不要 对象 身份证

        2
  •  0
  •   Anatoliy    16 年前
    1. 美元(“youtube”)是否存在?
    2. 是否可以切换到jquery dev lib(未压缩)并报告错误而不是“未定义d”