2016-04-10 18 views
0

Aşağıdaki komut, bir öğeyi klonlamak ve doğru yere yerleştirmek için iyi çalışır, bazı durumlarda orijinali kaybolur ve nedenini anlayamıyorum nedenini anlamaya yardımcı olabilir misiniz Kodumda yanlış bir şey varsa?Jquery Sorunu klonla - bazı durumlarda orijinal silme

Komut dosyası ile ilgili genel fikir şudur: Web adresinde bir kül tablası olduğunda (insanlar bir öğeye tıkladıktan sonra sosyal medyada paylaştıklarında), bağlantıyı izleyen kişiler en üstte sunulan öğeyi göreceklerdir. sayfanın Yukarıda açıklanan sorunun yanı sıra, betik iyi çalışıyor.

var hashtag = window.location.hash.substr(1); 

$(window).load(function() { 
    var hashid = ('#' + hashtag); 
    if (hashtag ==="") { 
     $("#tosee").removeClass("show").addClass("hide"); 
    } else { 
     var oritosee = $(hashid).clone(true); 
     oritosee.insertAfter('#tosee'); 
     $("#tosee").addClass("show"); 
    }; 
}); 

Skobaljic'ten bir ipucu aldım, yinelenen kimliklerle ilgili bir sorun oldu. Onlar, hashtag'in ardından tarayıcı parşömenlerini sayfasını açarsanız

oritosee.attr('id', oritosee.id + '_' + 'clone'); 
+0

(klonlanmış eleman id değiştirerek yinelenen kimlikleri kaçının):

Yani benim çözüm klonlanmış id değiştirmek oldu öğelere kadar. Bu yüzden bu betiğe ihtiyacınız yok. Diğer taraftan, öğeyi benzersiz bir kimlikle klonlamak, çiftleri oluşturduğunuzdan geçersiz olanlardan daha iyi bir fikir değildir. – skobaljic

+0

Evet, bu iyi bir nokta, yinelenen bir kimlik sorunu olabilir. (Ben bu şekilde yapıyorum çünkü söz konusu öğe kapalı bir div içinde gömülebilir). – Sergelie

+0

@skobaljic, tamamen doğru, id id değiştirirseniz, işe yarıyor! oritosee.attr ('id', oritosee.id + '_' + 'klon'); – Sergelie

cevap

0
oritosee.attr('id', oritosee.id + '_' + 'clone'); 

İlgili konular