2011-01-26 4 views
0

그래서이 미니 갤러리가 있습니다. IMG BIG 이미지 IMG DIV 설명 DIV IMG 썸네일 내가 DIV에 제대로 고도 값을 추출했는지 모르겠 제외div에서 이미지로 alt 속성 추출하기 (갤러리 설명 목적)

Everyting 잘 작동 IMG : 이것은 내가 그것을 작동하는 방법입니다. 코드 INC :

HTML 샘플 :

<p><img id="largeImg" src="zdjecia/bawialnia.jpg" alt="Large image" /></p> 
    <div id="opis"></div> 
<p class="thumbs"> 

<a href="zdjecia/bawialnia.jpg" title="Bawialnia"><img src="zdjecia/bawialnia-thumb.jpg" alt="some description" /></a> 

JQuery와 : 사전에

$(document).ready(function(){ 

$("h2").append('<em></em>') 

$(".thumbs a").click(function(){ 

    var largePath = $(this).attr("href"); 
    var largeAlt = $(this).attr("title"); 

    var altText = $(this).attr("alt"); 


    $("#largeImg").attr({ src: largePath, alt: largeAlt }); 

    $("div#opis").html(altText); 

    $("h2 em").html(" (" + largeAlt + ")"); return false; 
}); 

}); 

감사합니다!

+1

. *'$ (...) '를 호출 할 때마다 몇 가지 함수 호출과 메모리 할당 또는 두 개가 발생합니다. 클릭 핸들러에서 세 건의 전화가 실제로 문제가되지는 않지만 들어가는 것은 나쁜 습관입니다. 'var this = $ (this);''$ this.attr ("href")','$ this.attr ("title")'등을 시도해보십시오. (클로저를 만드는 경우, 함수의 끝에있는 var를 지우고 싶을 것입니다. 예를 들어,'$ this = undefined; '와 같이 - 물론 클로저에 유용하지 않는 한, 그것을 지울 수도 있습니다. –

+3

그리고 이름을 붙일 때 영어를 사용하십시오 귀하의 클래스/ID 또는 귀하의 코드와 함께 일할 수있는 다른 (신이 아닌 폴란드어 개발자를 제외하고) - 일관성은 더욱 중요합니다 - 영어 또는 폴란드어 - 귀하의 선택은 일관성이 있습니다. 외국 개발자와 일하는 것이 아니라도 처음부터 연습하는 것이 좋습니다. 영어는 모든 프로그래머에게 공통된 언어입니다. –

답변

6

해당 문맥에서 $(this).attr("alt")을 사용하면 자식 img가 아닌 태그의 alt 특성을 반환합니다.

이 시도 : 당신이 쓰는 자신을 발견 할 때`$ (이)`반복적으로, 한 번 그 일을 대신 결과를 캐싱하는 것이 좋습니다

var altText = $(this).find('img').attr('alt');