Web

[Jquery] 특정 클래스 요소 전부 가져와서 .each 문에서 데이터 뽑아내기

function MakeSelectItemList(){
  var ret = []
  $('.StatItemSelect').each(function(index,item){
    ret.push($(this).find('.card-body').text())
  });
  return ret;
};

html 내에서 ".StatItemSelect" 클래스를 가진 모든 요소를 가져오게되면 제이쿼리 객체 자료형을 가지기 때문에 forEach 등을 사용할 수 없다. .

.each 함수를 이용하면 배열에서 각 항목을 가져오는 것 처럼 반복문 내에서 항목들을 분리할 수 있는데, 이때 item 변수를 사용하면 html 태그가 나오기 때문에 제이쿼리 객체로 사용이 불가능하다.

$(this) 키워드를 사용하면 제이쿼리 객체로 가져오기 때문에 find() 함수등을 이용하여 객체 요소에 접근할 수 있다.