2012-04-10 23 views
6

content kimliğine sahip bir div sahibiyim ve örneğin div öğelerinin birinci düzeyindeki id numaralarını almak istiyorum. box1, box2, box3. Bu nasıl yapılabilir?Sadece birinci seviye div nasıl edinilir?

<div id="content"> 
    <div id="box1" class="box1class"> 
     <div>...</div> 
    </div> 
    <div id="box2" class="box1class"> 
     <div>...</div> 
    </div> 
    <div id="box3" class="box1class"> 
     <div>...</div> 
    </div> 
</div> 
+0

([sadece ilk seviye elemanı, aynı eleman adı ile değil alt öğeleri seçme] olası yinelenen http://stackoverflow.com/ sorular/2604463/yalnızca-seçmeli-birinci-düzey-eleman-değil-çocuk-elemanları-ile-aynı-öğe-nam) – Curt

+1

Neden kimliklere ihtiyacınız var? Lütfen bana söyleyeyim ki '$ (' # '+ id) ' – Sorpigal

+0

@Sorpigal' Şaşırtıcı olmazdım. İnsanların jQuery ile yazdıkları gereksiz kod miktarı akıllara durgunluk veriyor ... –

cevap

6

Kullanımda bu

var array = $("#content > div").map(function(){ 
     return this.id; 
    }).get(); 

See gibi > çocuk seelctor div'lerden dizi alabilirsiniz.

var ids = []; 
$("#content > div").each(function() { 
    ids.push(this.id); 
}); 
Sen map() kullanarak bu daha da kısaltabilir

:

var ids = $("#content > div").map(function() { 
    return this.id; 
}).get(); 
+0

[Hızlı test örneği] (http://jsfiddle.net/6RB9y/) :) –

+1

Thx Rory, yanlış anlaşılan soru :-P sildim benim aptal yorum :) – Cody

1

Kullanım: Bunun gibi

$("#content > div").each(function() { 
    var divId = this.id; 
}); 
+3

Bu yanıltıcı bir cevaptır. $ ("# content> div"). attr ("id") sadece ilk div kimliğini alır, hepsi değil. –

+0

@Chcuk Norris: Düzeltilmiş – kgiannakakis

+0

Ve buna ne dönecek? –

İlgili konular