2012-04-10 5 views
6

나는 content이라는 ID를 가진 div를 가지고 있으며, 첫 번째 레벨 div 요소의 id을 얻고 싶습니다. box1, box2, box3. 어떻게 할 수 있습니까?첫 번째 레벨 div 만 얻는 방법?

<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

([단지 제 레벨 요소는 동일한 요소 명이하지 자식 요소 선택]의 중복 가능성 http://stackoverflow.com/ 질문/2604463/selected-only-first-element-element-child-element-with-same-element-nam) – Curt

+1

ID가 필요한 이유는 무엇입니까? '$ ('#'+ id)' – Sorpigal

+0

@Sorpigal이라고 말할 수있는 것은 아니라고 말해주세요. 놀랄 일이 아닙니다. 사람들이 jQuery로 작성하는 중복 코드의 양은 놀라 울 정도입니다. –

답변

6

사용이

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

참조처럼 > 자식 seelctor를 DIV 년대의 배열을 얻을 수 있습니다.

var ids = []; 
$("#content > div").each(function() { 
    ids.push(this.id); 
}); 
map()을 이용하여이를 더 줄일 수

:

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

[빠른 테스트 케이스] (http://jsfiddle.net/6RB9y/) : –

+1

Thx Rory, 질문 오해 :-P 내 바보 같은 코멘트를 삭제 :) – Cody

1

사용 : 이것처럼

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

이것은 오해의 소지가있는 답변입니다. $ ("# content> div"). attr ("id")는 모두가 아니라 첫 번째 div의 ID 만 가져옵니다. –

+0

@Chcuk Norris : Corrected – kgiannakakis

+0

그리고 무엇을 돌려 줄까요? –

관련 문제