jquery
2012-02-18 3 views 2 likes 
2

이미지를 클릭 할 때 일부 텍스트를 다른 필드에 추가해야합니다. "다른 div"에 표시 할 이미지가 있지만 텍스트는 따르지 않습니다.jQuery - 일부 텍스트 문제 추가

내 HTML은 다음과 같이이다 :

<div class='smallImg'><img alt='En beskrivelse' class='smallImgImg' src='flot.jpg'></div> 

<div class='smallImgDesc'>   
    <span style='font-size:10px;'> 
     Here should the description be.. 
    </span> 
</div> 


<div id='bigImg'>Image appears here</div> 
<div id='bigImgText'>her skal beskrivelsen komme</div> 

그리고 JS :

$('.smallImgImg').click(function(){ 

    var smallImgText = $(this).next('.smallImgDesc'); 

    $('#bigImg').empty().append($(this).clone()); 
    $('#bigImgText').empty().append($(smallImgText).clone()); 

}); 

그래서, 나는 그것이 #bigImg의 DIV에 그것을 보여주는 것 이미지 (.smallImgImg)을 클릭하고있을 때, 어떤 작품. 그런 다음 #bigImg 아래에 설명을 추가하고 싶습니다. 하지만 #bigImgText가 그냥 비워지기 때문에 .smallImgDesc를 잡을 수없는 것 같습니다. 나는 지금 무엇을해야하는지 전혀 생각이 없다,

var smallImgText = $(this).find('.smallImgDesc'); 

을 ... 지금은 작동하지 않습니다

나도이 일을 시도했다. 난 당신이 jQuery 오브젝트

$('#bigImgText').empty().append(smallImgText.clone()); 

답변

3

선택기가 잘못 포장 재 있습니다 누군가가 여기 좀 도와 수 :

+0

이 완벽하게 작동합니다. 내가 할 수있을 때 나는 8 분, 당신의 대답을 수락합니다 :) – skolind

0

이 코드 조각이 잘못된 것 같습니다 희망했다. 당신은 부모 후 요소를 선택해야합니다 :

var smallImgText = $(this).parent().next('.smallImgDesc'); 

가 나는 또한 smallImgText 주위 $ 래퍼를 제거했습니다, 또 다른 jQuery를 객체에의 jQuery 객체를 래핑하는 절대적으로 불필요하기 때문이다. 이러한 혼란을 피하기 위해 모든 jQuery 객체 변수에 접두어를 사용하여 규범 인 $을 붙일 수 있습니다.

데모 : http://jsfiddle.net/kgH3K/

관련 문제