2011-05-31 21 views
8

yalnızca bir kez Varsa, bir öğenin var olup olmadığını ve insertAfter'ın geçerli olmamasını nasıl kontrol ederim.Ayrıca öğesi yoksa, insertAfter'ın valib olmasını istiyorum Bir kez.My hedefi sadece bir kez göndermek için bir öğe varsa ve hiçbir şey göndermiyorsaJquery insertEğer öğe varsa

+1

Hangi öğeye hangi öğenin hangi olaya yanıt verdikten sonra eklenmesi? Ne denedin ve neyin ters gittiğini? –

cevap

7

Sadece bir uzunluk kontrolü yap. Varsayarsak Eğer bir seçici #sel varsa ve ondan sonra bir şey eklemek istiyorum.

var foo = 'something'; 
if ($('#sel').length) { 
    //do something if elem is present 
} else { 
    $('#sel').insertAfter(foo); 
} 
+1

bu harika! +1 –

2

Herhangi bir jQuery nesnesinin length özelliğini kontrol ederek bir öğenin olup olmadığını kontrol edebilirsiniz.

1

yerleştirin şu, seçtiğiniz olay işleyicisi içinde, ihtiyaçlarınıza göre değişiklik sonrasında Örneğin:

if (!$('elementID').length) { 
    $('<div id="elementID" />').insertAfter('elementSelector'); 
} 

:

$('elementSelector').once().click(
    function(){ 
     if (!$('elementID').length) { 
      $('<div id="elementID" />').insertAfter('elementSelector'); 
     } 
    }); 

Referanslar:

+0

Sanırım bir() yerine bir() kullanmalısınız. –

İlgili konular