jQuery - 追加嵌入流

时间:2015-01-10 03:08:08

标签: javascript jquery html

我正在尝试使用jQuery的append方法追加嵌入直播,执行以下操作:

function whatever() {
    var $insaneLivestream = $('<iframe class="livestream" src="http://www.twitch.tv/gamesdonequick/embed" frameborder="0" scrolling="no" height="378" width="620"></iframe><a href="http://www.twitch.tv/gamesdonequick?tt_medium=live_embed&tt_content=text_link" style="padding:2px 0px 4px; display:block; width:345px; font-weight:normal; font-size:10px;text-decoration:underline;"></a><iframe class="chat" src="http://www.twitch.tv/gamesdonequick/chat?popout=" frameborder="0" scrolling="no" height="600" width="350"></iframe>');
    $(".embedbox").append($insaneLivestream);   
}

虽然我认为这应该可行,但元素似乎已创建,但根本没有附加到embedbox。如果我明确地将embed的DOM添加到文档中,它就像魅力一样。

编辑:也尝试了

$(document).ready(funtion() {
    $(".embedbox").html('<iframe class="livestream" src="http://www.twitch.tv/gamesdonequick/embed" frameborder="0" scrolling="no" height="378" width="620"></iframe><a href="http://www.twitch.tv/gamesdonequick?tt_medium=live_embed&tt_content=text_link" style="padding:2px 0px 4px; display:block; width:345px; font-weight:normal; font-size:10px;text-decoration:underline;"></a><iframe class="chat" src="http://www.twitch.tv/gamesdonequick/chat?popout=" frameborder="0" scrolling="no" height="600" width="350"></iframe>')
});

仍然无效。

1 个答案:

答案 0 :(得分:1)

关键似乎不是html()而不是append()的更改,而是准备就绪。必须在加载DOM之前调用whatever()。另外,您实际上正在调用 whatever(),还是只是定义它?

我敢说这也有用:

function whatever() {
    var $insaneLivestream = $('<iframe class="livestream" src="http://www.twitch.tv/gamesdonequick/embed" frameborder="0" scrolling="no" height="378" width="620"></iframe><a href="http://www.twitch.tv/gamesdonequick?tt_medium=live_embed&tt_content=text_link" style="padding:2px 0px 4px; display:block; width:345px; font-weight:normal; font-size:10px;text-decoration:underline;"></a><iframe class="chat" src="http://www.twitch.tv/gamesdonequick/chat?popout=" frameborder="0" scrolling="no" height="600" width="350"></iframe>');
    $(".embedbox").append($insaneLivestream);   
}

$(document).ready(function () {
    whatever();
});

此外,$(document).append(//...)语法错误,会出错,请参阅 Why $(document).append() doesn't work in jQuery 1.9.1?

我从未尝试appenddocument,但我不知道它不起作用,因此在研究这个问题时学习很有趣。