2017-05-25 29 views
5

jQuery kullanarak div içeriğini kopyalamak istiyorum, ancak kopyalanan içerikten, ben appendTo işlevini kullanmadan önce sınıfı orijinalinden kaldırmak istiyorum. Sınıfı bir klondan çıkardığımda da orijinal olandan kaldırırlar.Sınıfı kopyala ve orijinali değiştirmeden sınıfı kaldır

Benim kodudur: geldiğinden

$('.carousel .item').each(function(){ 
     var next = $(this).next(); 

     if (!next.length) { 
      next = $(this).siblings(':first'); 
     } 
     next.children(':first-child').clone().appendTo($(this)); 
     next.children(':first-child').addClass('col-sm-offset-1'); 

     for (var i=0;i<3;i++) { 
      next=next.next(); 
      if (!next.length) { 
       next = $(this).siblings(':first'); 
      } 
      next.children(':first-child').clone().appendTo($(this));     
     } 

}); 

lütfen unutmayın ben içerik kopyalanamaz yerden fiili div sınıfından çıkarmak istemiyorum, sadece kopyalanan koddan kaldırmak istiyorum klonlanmış div'a dahil değildir. Aşağıda gösterilen gibi

+0

, size sınıf – LazyDeveloper

+0

next.children kaldırmaya çalışıyorsunuz kaldır sınıfı ile kodunuzu güncelleyebilirsiniz (': ilk çocuğu'). removeClass ('col- sm-ofset 1') klon).() appendTo ($ (bu.); // burada clone div sınıfını siliyorum – suraj

cevap

0

Önce klonlanmış nesneden elemanını kaldırmak ve daha sonra bir şey olurdu yeni nesneye klonlayabilirsiniz:

$('.carousel .item').each(function(){ var next = $(this).next();  
     if (!next.length) { 
      next = $(this).siblings(':first'); 
     } 
     var $block = next.children(':first-child'); 

     // Grab the and remove element class 
     $block = $block.find('.your-element-identity-class').removeClass('your-element-identity-class'); 

     // Clone the block 
     var $clone = $block.clone(); 

     $clone.appendTo($(this)); 
     next.children(':first-child').addClass('col-sm-offset-1'); 

     for (var i=0;i<3;i++) { 
      next=next.next(); 
      if (!next.length) { 
       next = $(this).siblings(':first'); 
      } 
      var $block = next.children(':first-child'); 

      // Grab the and remove element class 
      $block = $block.find('.your-element-identity-class').removeClass('your-element-identity-class'); 

      // Clone the block 
      var $clone = $block.clone(); 

      $clone.appendTo($(this));     
     } 

    }); 

istediğiniz sınıf adıyla "your-eleman-kimlik-sınıfı" Değiştir ayırmak. Orijinal ref. from - How to remove the selected element during a clone() operation

0

Eklemek istediğiniz yere bakmaksızın, eklemeden önce nesneyi removeClass() çalıştırabilmelisiniz.

+0

next.children (': ilk çocuk'). removeClass ('col-sm-offset-1') ‌ .clone(). appendTo ($ (‌ this)) ; Ben bunu kullanıyorum ama onun klon sonra sınıfının – suraj

3

removeClass ve addClass numaralarını clone sonra kullanabilirsiniz. i sınıfını kaldırmak için kod görmüyorum

.clone().removeClass('oldClass').addClass('col-sm-offset-1') 
+0

@Suraj kaldırmak sınıfından yeniden. –

+0

Teşekkürler bir ton efendim – suraj

+0

Eğer ans sorununuzu çözerse, lütfen kabul edin. –