iFrameのsrcを変更すると、jQueryを使用してiFrameを削除しています

このjQueryを使う:

$('#mycarousel li img').click(function(){
    $('#video').empty();
    var newId = $(this).attr('id');
    newId = newId.replace('vid','');
    $('#video iframe').attr('src', $('.vidHolder' + newId).html());
});

関連するHTML:

  • <div id="video"><iframe src="pathtocurrentiframe" style="overflow:hidden" id="fr" width="425" height="480" frameborder="0" hspace="0" vspace="0" style="overflow:hidden;"></iframe><div id="dialog" title="" style="width: 0; height: 0;"></div></div> <div class="vidHolder1" style="display: none;">newpathtoiframe</div>

    今何らかの理由で、imgをクリックするとiFrameが削除されます!私はそれが必要なようにsrcを変更しない...

0
ワオ。これに感謝します。なんてばかだ!
追加された 著者 benhowdle89,
$( '#video')。empty(); ですべてをクリアしていませんか? iframe が #video の子であるため、 #video iframe が適切なセレクタである場合は、 iframe >によって削除され、 .empty()
追加された 著者 Esailija,
src attrの中にHTMLを置いていますか?正確に何をsrcに変更しようとしていますか?イメージからID:1を得たと考えて、何を追加しようとしていますか?
追加された 著者 Marco Johannesen,

1 答え

私はあなたの問題があなたのクリック機能の最初の行だと推測しています:

$('#video').empty();

.empty()メソッドはすべての子要素を削除します。つまり、iframeが削除されます。

セレクタに一致する要素がないため、関数の最後の行は何もしません(ただし、要素がセレクタに一致していない場合は何も処理しないので、エラーは発生しません)。

0
追加された
残念ながら、私はこれのすべてを知っていましたが、非常に遅い:(ありがとうすべて同じ!:)
追加された 著者 benhowdle89,