2015-12-22 22 views
5

view demo here görüntülenebilir bir klonlama öğesi işlevi oluşturdum. Sıfırlama düğmesine basıldığında, tüm klonlanmış öğe öğelerini kaldırır, ancak başka bir öğeyi öğe listesine eklemeye çalışırken, 'YENİ' eklenen öğe DOM ile görünmez.jQuery .remove() 'nin üst sınıfı silme işlemi nasıl engellenir

$('#add-btn').on('click',function(){ 
    $('.list-items:first').clone().appendTo("#items").addClass('isVisible'); 
    $('#items-fields').val(''); 
}) 

// RESET BUTTON 
$('.reset').on('click', function(){ 
    if($('.list-items').length != 1); 
    $('.list-items:last').remove(); 
    event.preventDefault(); 
}) 
+0

Kaldırmak istediğiniz öğeyi belirtmeniz gerekir. Bunu bir sınıf adı kullanarak yaptığınızda, bu sınıfla tüm öğeler etkilenecektir. Yardım almak istediğinizden emin olmak istiyorsanız lütfen ilgili tüm kodları kullanın, bu nedenle davranışı taklit etmek mümkündür. – Franco

+0

@Franco Soruyu yeterince yazmamışsam, oldukça açıklayıcıdır. Kaldırmak istediğim elemanlar, demoda gösterilen ve kodda yazılan '.list-items' dir. (MEVCUT FONKSİYONLA ÇALIŞIYOR). Eğer demo görüntülerseniz, kullanıcının sıfırlama düğmesine bastığında fark ettiğiniz tüm öğeleri kaldırır, yeni öğeler eklemeye çalıştığınızda DOM'da görünmezler, yine soruda yazılır ve demoda gösterilir – NewKidOnTheBlock

+0

Ve ben de bundan önce başka bir soru gönderdiğinizi gördüm. Gördüğünüz gibi, yumruk için fazla cevap alamadınız ve elbette dilediğinizi yapabilirsiniz. Sorununuz için iyi bir cevap verme şansını arttırmak için size bir tavsiye verdim. – Franco

cevap

1

senin eğer aşağıdaki

listenizi-Eşyaları şu şekilde belirledik anda
$('.reset').on('click', function(){ 
    if($('.list-items').length > 1) { 
     $('.list-items:last').remove(); 
    } 
}) 

için deyim ..

When a user clicks the delete button, if the number of things with the class list-item does not equal 0, then remove the last list-item 

Sen Bu kodu aşağıdaki gibi değiştirmesi gerekir:

When a user clicks the delete button, if the number of things with the class list-item is greater than 1, then remove the last list-item 
1

Bu değiştirmelisiniz:

var eleClone = $('list-items').clone(true); 

bu ölçütü:

var eleClone = $('.list-items').clone(true); 

Sen aramak isterken list-item 'is 'id' eleman aramak sınıfın 'liste-öğeleri' olduğu eleman. Eğer reset düğmesi de kodunu değiştirmek zorunda

+0

Bunu denedim ama klonlanmış öğeleri kaldırmıyor – NewKidOnTheBlock

+0

emin, bu komut eleClone içeriği tarafından her liste öğesi yerini alacak. –

İlgili konular