İFrame'in src'sinin değiştirilmesi jQuery'yi kullanarak iFrame'i kaldırıyor

Bu jQuery'yi kullanarak:

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

Ve ilgili 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>

Şimdi bir sebepten dolayı, img'i tıkladığımda iFrame'i kaldırır! Src'yi değiştirmem gerekmiyor ...

0
vay. Bunun için teşekkürler. Ne aptal!
katma yazar benhowdle89, kaynak
Her şeyi $ ('# video') ile temizlemiyor musunuz? Empty (); ? iframe iframe iframe # video olarak uygun bir seçici ise iframe 'i de temizler. > .empty() tarafından kaldırılacak
katma yazar Esailija, kaynak
HTML'yi src attr içine mi koyuyorsunuz? Src'yi tam olarak değiştirmek için tam olarak neyi deniyorsunuz - görüntünün kimliğini aldığınızı düşünerek: 1 - daha ne eklemeye çalışıyorsunuz?
katma yazar Marco Johannesen, kaynak

1 cevap

Sorununun tıklama işlevinin ilk satırı olduğunu tahmin ediyorum:

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

.empty() yöntemi tüm alt öğeleri kaldırır, yani iframe'inizi kaldırır.

İşlevinizdeki son satır hiçbir şey yapmaz çünkü hiçbir öğe seçiciyle eşleşmez (ancak jQuery öğesi hiçbir öğe seçiciyle eşleşmediğinde hiçbir şey yapamayacağından bir hata almazsınız).

0
katma
Ne yazık ki, bütün bunları biliyordum ama çok geç: (hepsi de teşekkürler) :)
katma yazar benhowdle89, kaynak