2010-08-26 13 views
11

içinde ('şey') replaceWith kaldıktan sonra bir objenin gerçek içeriği almak için ben 'replaceWith'nasıl jquery

olmuştur 'obj' yeni içeriği almak istiyorum bu kodu

$(document).ready(function(){ 
    $('.selector').click(function(){ 
     obj = $(this); 
     obj.replaceWith('<div class="size">whats up man ??!</div>'); 
     alert(obj.html()); 
    }); 
}); 

var

ama,

yerine eski içeriği almak

...

nasıl 'obj' asıl içeriğini alabilirim ???

Niyetim ben 'Orta'

cevap

10

Güncellenen yöntemle yerini doğru biri olduğunu biliyoruz:

$('.selector').click(function(){ 
    var obj = $(this), 
     repl = $('<div class="size">whats up man ??! <span class="medium"></span></div>'); 
    obj.replaceWith(repl); 
    alert(repl.find('span').attr('class')); 
}); 

You can test it out here. Önemli değişiklik, eski eleman yerine yeni öğeye bakmak için repl.find()'dur.

+1

thx nick, onu çivilenmiş. – mdennisa

3

neden bunu yapmak istiyorsun olan 'yayılma' sınıfı adını yazdırmak istediğiniz yeni 'obj'

$('.selector').click(function(){ 
      var obj = $(this), 
      repl = $('<div class="size">whats up man ??! <span class="medium"></span></div>'); 
      obj.replaceWith(repl); 
      alert(obj.find('span').attr('class')); //this will print 'undefined' 
}); 

erişmek için mi? Eğer sadece böyle bir çimdik ihtiyacı, ne ile ....

$(document).ready(function(){ 
    $('.selector').click(function(){ 
     var obj = $(this); 
     var replacement = $('<div class="size">whats up man ??!</div>'); 
     obj.replaceWith(replacement); 
     alert(replacement.html()); 
    }); 
}); 
+0

thx andrew, Niyetim {) (gerçek 'obj', $ ('boyutu'). Tıklayın (işlevi içinde her şeyi işlemek için \t var obj = $ (this) erişime sahip olmaktır, \t repl = $ ('

whats up man ??!
'); obj.replaceWith (repl); \t alert (obj.find (' yayılma ') özn (' sınıf).); // bu 'tanımsız' yazdırılırken// Sınıf ismini 'obj' }); – mdennisa

+0

ama biliyorsunuz, sadece 'size' boyutuna atadı, o zaman neden sadece 'boyut' uyaran değil? sadece yap: 'replacement.find ('span'). attr ('class')' Eğer gerçekten –

+0

yes andrew iseniz, kodunuz ilk etapta sorumu çözmüştür. ama sanırım anlayamıyorum. Burada nihai sonuç http://jsfiddle.net/HCXaK/1/ – mdennisa