2010-12-09 6 views
1

저는 PHP & CSS에 익숙한 jQuery를 처음 사용합니다. 중첩 된 동적으로 생성 된 div (ID)를 서버 측 스크립트로 보내서 숫자를 업데이트하려고합니다. .content 클래스의 모든 것을 검사하고 싶습니다. ID가있는 div 만 처리를 위해 보내야합니다. 그러나 나는 문제 (재귀 아이들을) 확인 ... 이것이 봉착 최고 (비 재귀 적으로) 내가 할 수있는 :id 속성을 검색하는 .children() 재귀

$(".content").children().each(function() { 
    if ($(this).attr('id').length == 0) { 
     $(this).children().each(function() { 
      if ($(this).attr('id').length == 0) { 
       $(this).children().each(function() { 
        if ($(this).attr('id').length == 0) { 
         $(this).children().each(function() { 
          alert($(this).attr('id')); 
         }); 
        } 
       }); 
      } 
     }); 
    } 
}); 

과에서 모든 것을 그것은 단지 경고()의 아이디의의를 그들이 있어야하는 수준. 이것을하기위한 더 좋은 방법이 있어야합니다 ... 미리 조언 해 주셔서 감사합니다. 스틴

답변

5

시도 :

var ids = $('.content div[id]').map(function() { 
    return this.id; 
}).get(); 

.content div[id] 당신 비어 있지 않은 ID 속성을 가진 .content의 (모든 수준에서) 모든 사업부의 후손을 선택합니다. [id] 부분은 Has Attribute 선택 자의 예입니다.

나는 .map을 사용했습니다. 일치 항목의 ID를 추출하고 .get()을 사용하여 결과 객체를 기본 배열로 변환합니다. http://jsfiddle.net/M96yK/

+0

을 지정한 모든 사업부의의를 포함하는의 jQuery 객체를 반환합니다 ;. 적시에 답변 해 주셔서 감사합니다. – Justin

+0

@Justin - 언제든지! – karim79

1

당신은 할 수 있습니다 :

여기를보십시오

$(".content div[id]"); 

이 아이디의이 경고 (IDS)을 통해 확인 된

관련 문제