2016-03-29 22 views
1

arasındaki fark nedir? JQuery (1.8.3) get DOM kullanırken bir sorum var.Kimlik ve sınıf yoluyla DOM alma

$(function() { 
 
    //method 1 
 
    var $y = $('.u')['0'], 
 
    $n = $('.u')['1']; 
 
    $y.click(function(e) { 
 
    alert('hello y'); 
 
    }); 
 
    $n.click(function(e) { 
 
    alert('hello n'); 
 
    }); 
 

 
    //method 2 
 
    var $yid = $('#y'), 
 
    $nid = $('#n'); 
 
    $yid.click(function(e) { 
 
    alert('hello yid'); 
 
    }); 
 
    $nid.click(function(e) { 
 
    alert('hello nid'); 
 
    }); 
 
});
<!-- method 1 --> 
 
<button class="u">yes</button> 
 
<button class="u">no</button> 
 
<br> 
 
<!-- method 2 --> 
 
<button id="y">yesid</button> 
 
<button id="n">noid</button>

code in jsfiddle

Ben tıklama etkinlik çalışır hale getirmek için "yöntemini 1" neden kullanamazsınız bilmiyorum, ben eksik ettik temel bir şey olduğunu düşünüyorum Birisi bana tavsiyelerde bulunabilir mi? J nesnesini değil, dom nesnesini döndürür.

+0

Onun daha iyi işlevi kullanmak için '.each' sen yineleme tüm unsurlar aynı işi seçer HTML

<div class="myDiv" id="myId"></div> 

jquery komut verilmiş belirli bir sınıfla. [0] seçicisi olmadan ... – Tinmar

+0

Cevabım sorununuzu çözdü mü? Değilse cevabım altında bir yorum ekleyin. –

cevap

0

$('.u')[0]click() işleyici yalnızca jQuery nesnesiyle çalışır, bu nedenle jQuery nesnesini almak için eq() kullanın.

var $y = $('.u').eq(0), 
    $n = $('.u').eq(1); 

FIDDLE

+0

Bu cevap için teşekkürler, belirttiğiniz anahtar kelimeler için google. – whc

0

bir dizi dom nesnesini alacak seçimi için .u kullanırken. Bir jQuery nesne olarak yapmak için kod gereğince yeniden id bir şeyler seçerek daha öğenin farklı bir tür dönecektir class tarafından

$($('.u')['0']) 
$($('.u')['1']) 

Fiddle Demo şey seçilmesi

+0

Senin ve Pranav'un ​​cevaplarından bir şey buluyorum, çok teşekkürler! – whc

0

gibi seçmek gerekir.

class tarafından bir şey seçilmesinin, o sınıftaki her şeyi içeren bir kutu (dizi) döndürdüğünü varsayalım. Daha sonra, id ile bir şey seçmenin öğeyi id ile döndürdüğünü hayal edin.

Sınıfınıza göre bir şey seçerseniz, sınıfla sadece 1 dom öğesi olsa bile "bu sınıfın tüm domları" için kutusunu (dizisi) elde edersiniz. Jquery'deki .eq() işlevini kullanarak

işlevi, sınıfın ilk veya n'üncü öğesini verebilir.

$(".myClass").eq(0) 

$("#myId") 
İlgili konular