• 쇼핑몰
  • 커뮤니티
  • 북마크

질문과 답변 (채택게시판)

jQuery hasClass 메서드를 사용할 때 div의 ID를 얻는 방법?

총 채택 포인트 300 포인트
채택된 회원에게 주는 후원 포인트 240 포인트
채택 후 작성자(아름다운별) 회수 포인트 60 포인트

본문

이 코드가 작동하지 않습니다.

$("div").hasClass("testSection").attr("id");

다음과 같은 오류 메시지가 나타납니다.

TypeError : $ (...). hasClass (...). attr은 함수가 아닙니다.

어떤 문제가 어떤 문제 일 수 있습니까?

profile_image
포인트 4,500
경험치 343
[레벨 2] - 진행률 36%
가입일 :
2018-08-10 14:34:36

댓글목록 4

레인보우님의 댓글

베스트 1
profile_image
문제는 hasClass()jQuery 객체가 아니라 부울을 반환 하기 때문 입니다. 따라서 attr()boolean을 호출 하면보고있는 오류가 발생합니다.
지정된 클래스가있는 div가 하나만 있다고 가정하면 선택기에서 클래스를 사용할 수 있습니다.
var id = $("div.testSection").prop("id");

클래스와 함께 div가 여러 개있는 경우 루프를 반복해야합니다.
$("div.testSection").each(function() {
    var id = this.id;
    // do something with the id...
});

할인의추억님의 댓글

profile_image
.hasClass("testSection")boolean을 반환합니다. 체인에 jQuery 객체를 반환하지 않습니다.
또한 여러 요소를 일치시킬 때와 같이 특정 함수를 사용 .attr하면 첫 번째 선택한 요소에서 돌아 오는 것처럼 이해할 수 있습니다.
$("div").attr('id'); => $('div').eq(0).attr('id');

축하합니다. 첫댓글 포인트 3포인트를 획득하였습니다.

레인보우님의 댓글

profile_image
문제는 hasClass()jQuery 객체가 아니라 부울을 반환 하기 때문 입니다. 따라서 attr()boolean을 호출 하면보고있는 오류가 발생합니다.
지정된 클래스가있는 div가 하나만 있다고 가정하면 선택기에서 클래스를 사용할 수 있습니다.
var id = $("div.testSection").prop("id");

클래스와 함께 div가 여러 개있는 경우 루프를 반복해야합니다.
$("div.testSection").each(function() {
    var id = this.id;
    // do something with the id...
});

백마탄환자님의 댓글

profile_image
당신이 사용하고자하는 filter:
$("div").filter(".testSection").attr("id");

hasClassattr함수 가있는 jQuery 객체가 아니라 부울 (true / false)을 반환 합니다.

겨울비님의 댓글

profile_image
hasClass는 객체가 아닌 true 또는 false를 반환 할 것이고, 이것을 사용하고,
$("div.testSection")
전체 7 건 - 1 페이지
제목
해결
7
5
0
4,157
170p
레벨 레인보우 2018.08.11
해결
4
0
0
3,778
500p
레벨 할인의추억 2018.08.11
해결
2
0
0
3,656
150p
레벨 피에이치피 2018.08.11
미해결
4
1
0
6,224
300p
레벨 아름다운별 2018.08.11
해결
3
1
2
3,671
10p
레벨 안졸리나졸리나 2018.08.11
해결
4
2
0
3,469
70p
레벨 가을의전설 2018.08.11
해결
10
2
1
3,372
100p
레벨 겨울비 2018.08.11