2012-03-05 2 views
0

안녕하세요, 저는이 방법이 매우 쉽다는 것을 알고 있지만, 지금이 순간 나는 뇌의 방귀를 앓고 있습니다! x id로 모든 요소의 클래스를 가져와야합니다. 그런 다음 그 클래스 이름을 인쇄해야합니다. 예 :jquery의 특정 ID를 가진 모든 요소의 클래스를 얻는 방법

HTML :

<div class="picture"><img src="one.jpg" class="one.jpg" id="yes"></picture> 
<div class="picture"><img src="ones.jpg" class="ones.jpg" id="no"></picture> 
<div class="picture"><img src="oned.jpg" class="oned.jpg" id="yes"></picture> 
<div class="picture"><img src="onez.jpg" class="onez.jpg" id="yes"></picture> 
<div class="selected"></div> 

JQUERY :

var selectedImg = $(".picutre img").attr("id","yes").class(); 
    $(".selected").html(selectedImg); 
+0

'html'에는 요소 당 하나의 고유 ID가 있어야합니다. –

+0

고유해야합니다. 중복이 없어야합니다. 이로 인해 스크립트가 혼동 될 수 있습니다. 대신에'name' 속성을 사용할 수 있습니다. –

+0

가능성이 여기에 대답 http://stackoverflow.com/questions/1536117/how-can-i-get-the-current-class-of-a-div-with-jquery – Nikhil

답변

0

먼저 귀하의 ID는 고유해야합니다. 그런 다음 jQuery에 'class'메소드가 없습니다. HTML5 data을 jQuery와 함께 사용하는 것이 좋습니다.

HTML :

<div class="picture"> 
    <img src="test.jpg" class="one.jpg" data-bool="yes" /> 
    <img src="test.jpg" class="ones.jpg" data-bool="no" /> 
    <img src="test.jpg" class="oned.jpg" data-bool="yes" /> 
    <img src="test.jpg" class="onez.jpg" data-bool="yes" /> 
</div> 
<div class="selected"></div> 

jQuery를 :

$('.picture img').each(function(){ 
    var $this = $(this); 
    if($this.data('bool') == 'yes'){ 
     $('.selected').append($this.attr('class')); 
    } 
});` 

그것이 유용했다 희망!

1

이드 고유해야합니다!

그래서 대답은 간단합니다 :

$('img').each(function(){ 
    alert($(this).attr('class')); 
}); 

JSFiddle

    : 당신이 $('img') 선택 모든 이미지를 선택하면

    var class = $('#x').attr('class'); 
    

    당신이 each 기능 모두를 경고 할 수 있습니다

  • 참고 당신이 당신 같은 그림 클래스와 div이있을 때 수행하는 것이 : <div class="picture"> 당신은 당신은 같은 DOM이 무효 인 여러 요소에 같은 id를 사용 </div>
2

와 닫습니다 </picture> 그것을 닫지 마십시오. 이제 이것을 바꿔야합니다! 이렇게하면 jQuery ID 선택기 (#)가 원하는 방식으로 작동하지 않게됩니다. 그러나 attr 선택자는 계속 작동합니다 (".picture img[id=yes]").

jQuery에는 .class() 메서드가 없습니다. 수업을 들으려면 .attr('class')을 사용해야합니다.

선택기에서 메서드를 호출하면 해당 선택기에서 찾을 수있는 요소 만 첫 번째 요소가됩니다. 즉, $(".picture img[id=yes]").attr('class')은 해당 선택기와 일치하는 요소가 여러 개 있지만 one.jpg을 반환합니다.

그런데 철자가 틀립니다.

+0

동일한 ID를 가진 다중 요소를 사용하는 것은 HTML 페이지에서 고유 한 ID를 갖는 HTML 정책에 위배됩니다. 이 대답에서 주어진 대답은 가장 정확한 것입니다. 질문과 유사한이 바이올린을보십시오 - http://jsfiddle.net/harshithjv/uSN3c/ –

1

HTML 문서의 모든 ID는 고유해야합니다. data-id를 사용하여 URL에 해당 날짜를 저장할 수 있습니다. 이 작업을 수행 할 수있는 data-id="yes" 각 선택된 이미지의 클래스를 얻으려면 :

var selectedImg = $('img[data-id="yes"]').attr('class');

관련 문제