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

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

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")