2010-06-11 2 views
1
  $(document).ready(function(){ 

     $('img').click(function(){ 
var class = $("img").attr("class"); 
console.log(class); 
     }); 

      }); 

다른 질문으로 돌아 가기. 3 개의 이미지가 각각 다른 클래스 (image1, image2, image3)로 있습니다. 위의 코드를 실행하면 로그에 아무 이미지 나 상관없이 첫 번째 이미지의 클래스 만 표시됩니다.jQuery 점점 클래스

+1

식별자 이름'class'는 [Future Reserved Words] (http://bclary.com/2004/11/07/#a-7.5.3)의 일부이기 때문에 * avoided *해야한다는 점에 유의하십시오.) 목록, 일부 구현에서는 'SyntaxError'가 발생합니다. Safari는 그 좋은 예입니다 ... – CMS

+0

어쨌든 나는 여기에 코드를 붙여 넣었을 때 그것을 사용하지 않았지만 알려 주셔서 감사합니다.) – andrei

답변

9

, $(this)

등으로 $("img") 교체 :

$('img').click(function(){ 
    var class = $(this).attr("class"); 
    console.log(class); 
}); 

this이 참여하고있다 특정 객체 참조합니다. 클릭 핸들러의 매개 변수로 event을 선언하는 경우 과 같은 event.target을 사용할 수도 있습니다.

1

클릭 이벤트 내에 $(this)을 사용하면 현재 개체를 가져올 수 있습니다. 당신의 click event handler

$('img').click(function(){ 
    var class = $(this).attr("class"); 
    console.log(class); 
});