2011-09-23 10 views
12

Olası Çoğalt:jQuery'de mi?

HTML:

<span id="one">one</span> 
<span id="two">two</span> 
<span id="three">three</span> 

JAVASCRİP i birşeyler yapmak istiyorum
Finding whether the element exists in whole html page

t:

if (isset($("#one"))){ 
    alert('yes'); 
} 

if (isset($("#two"))){ 
    alert('yes'); 
} 

if (isset($("#three"))){ 
    alert('yes'); 
} 

if (!isset($("#four"))){ 
    alert('no'); 
} 

CANLI

:

http://jsfiddle.net/8KYxe/

bunu nasıl yapabilirim?

$.fn.exists = function() { return this.length > 0; }; 

// later ... 
if ($("#id").exists()) { 
    // do something 
} 
+0

ne olmalıdır bu açılımlara mı ayarlanmalı? –

+2

'isset' anlamı ne anlama geliyor? 'Span' bazı içerik var? Var? –

cevap

22
if (($("#one").length > 0)){ 
    alert('yes'); 
} 

if (($("#two").length > 0)){ 
    alert('yes'); 
} 

if (($("#three").length > 0)){ 
    alert('yes'); 
} 

if (($("#four")).length == 0){ 
    alert('no'); 
} 

Bu :) gerek

+3

Kimlik bulunamazsa, – Minimihi

+1

'hatasını atar (eğer $ ('# one')) {alert ('yes'); } '- vb. Budur !! JS çift operatör değil. –

8
function isset(element) { 
    return element.length > 0; 
} 

http://jsfiddle.net/8KYxe/1/


Veya,

if ($("#one")){ 
    alert('yes'); 
} 

if ($("#two")){ 
    alert('yes'); 
} 

if ($("#three")){ 
    alert('yes'); 
} 

if ($("#four")){ 
    alert('no'); 
} 

Maalesef hatamı, gelmiyor iş.

+0

@Tomalak - Düzenleme için teşekkürler :) –

+0

Rica ederim. ;) – Tomalak

-2

Sadece bu kullanabilirsiniz: a jQuery uzantısı olarak

+3

'$()' her zaman, "true" olarak değerlendiren bir jQuery nesnesi döndürür. –

+0

Çalışmıyor, jQuery her zaman jQuery nesnesini döndürür. – Usman

+1

@FelixKling: Bu yorumu daha iyi kopyala ... Belki de bu şekilde cevap veren üçüncü bir kişi olacak ...;) –

17

Sen length kullanabilirsiniz:

if($("#one").length) { // 0 == false; >0 == true 
    alert('yes'); 
} 
+3

0, 0 olarak false olarak değerlendirildiği için burada 0'a sahip olmanıza gerek yoktur. –

+0

Bu, kimliğe sahip olanların var olup olmadığını gösterir. Ancak, eğer bu eleman için bir değer olup olmadığını öğrenmek isterseniz, eğer yapabilirseniz ($ ("# one")) val()) {...} ' –

+2

@Richard: Doğru, ama'> 0' daha anlamlı ve dolayısıyla okuması daha kolay. "0" ın "false" olarak değerlendirdiği herkese derhal açık olmayabilir. –

-2
function el(id) { 
    return document.getElementById(id); 
} 

if (el('one') || el('two') || el('three')) { 
    alert('yes'); 

} else if (el('four')) { 
    alert('no'); 
} 
İlgili konular