2014-07-08 1 views
0

을 사용 나는 다음과 같은 HTML 있습니다)을 (jquery를 사용하여 여러 요소의 속성 값을 가져옵니다. 그런 다음 그들에게

<span class="thumbnav" id="?"><?php get_the_image(); ?></span> 
    <span class="thumbnav" id="?"><?php get_the_image(); ?></span> 

    <div class="?" style="display:none;"> 
     Some image, and a bit of text are staring at you. 
    </div> 

    <div class="?" style="display:none;"> 
     Some image, and a bit of text are staring at you. 
    </div> 

내 목표는 모든 < 기간>, 다음 .click을 설정하는 ID를 사용하기위한 ID 값을 찾기 위해 jQuery를 사용하는 것입니다 사건을 유발할 사건. show()은 < div> 요소에 있습니다.

지금까지 나는이 있습니다

하지만, 첫 번째 < 스팬> 작동
var clasid = $(".thumbnav").attr("id"); 

$("#" + clasid).click(function() { 
$("." + clasid).show(); 
}); 

. 모든 스팬이 스크립트 작업을 만들 수있는 방법이 있는지

그래서 궁금 해서요, I에게 피난처를 나는 jQuery를 문서를 읽고 그들은 .MAP() 또는 .each() 중 하나를 사용하는 것이 좋습니다,하지만 그것을 파악할 수 없었습니다. 누군가가 나에게 새로운 < DIV>가 표시 될 때 활동했던 < DIV>를 숨기는 방법에 대한 힌트를 줄 수 있다면

는 또한 그것은 좋은 것입니다.

감사합니다.

+2

여러 요소. ID는 고유해야합니다. 대신 클래스를 사용하십시오. –

답변

3

당신은 클래스 이벤트를 작성하고 동적으로 요소 ID에 액세스 할 수 있습니다

$(".thumbnav").click(function(){ 

$("." + this.id).show(); // this.id will give you clicked element id 

}) 

당신은 단순히 사용하여 결합 할 수 FIDDLE EXAMPLE

+0

Brilliant! 그래서 기본적으로 'this'는 현재 객체를 선택합니까? 무지한, 초보자 인 것에 유감으로 여기에서. – Ernie

+0

네, 맞습니다 $ (this) jquery 객체를 줄 것이고 이것은 자바 스크립트를 줄 것입니다. –

3

참조 : 당신이 동일한 ID를 가질 수 있기 때문이다

$(".thumbnav").click(function() { 
$('.'+this.id).show(); 
}); 
관련 문제