2010-04-07 14 views

답변

3

사용 [id] 또는 [class] 선택. 그러면이 속성이 정의 된 모든 요소가 선택됩니다. 그런 다음 attr('id')을 호출하고 ID를 가져 오면됩니다.

(function($) { 
    $.fn.allAttributes = function(attrName) { 
     var selector = "[{attr}]".replace("{attr}", attrName); 
     var attributes = $(selector, this).map(function() { 
      return $(this).attr(attrName).split(' '); 
     }); 
     attributes = $.unique(attributes); 
     return attributes; 
    }; 
})(jQuery); 

정확히이 작업을 수행하는 jQuery 플러그인입니다. 사용 예제 :

var ids = $("body").allAttributes("id"); 
var classes = $("body").allAttributes("class"); 

일부 주 : class 속성이 문자열과 같은 "main navi footer"로 구분 된 여러 CSS 클래스를 가질 수 있기 때문에

이 기능은 split(' ')를 호출한다. 분리 된 항목으로 구분됩니다. $.unique 클래스의 이름이 여러 곳에서 반복 될 수 있었기 때문에 결국 배열에서 호출되며 중복을 원하지 않는다고 생각합니다.

여기의 예 : http://jsfiddle.net/G4Pwc/

관련 문제