2011-10-09 4 views
0

사용자 클릭시 fancybox를 활성화하는 기능이 있습니다. :jQuery를 사용하여 dom 객체에 대한 정보를 얻을 수없는 이유는 무엇입니까?

$('.fancybox').fancybox({'titlePosition': 'inside','titleFormat': formatTitle}); 

이이 함수를 호출

function formatTitle(title, index,href) { 
    alert($(this).get(0).tagName); 
    return title; 
} 

지금 나는 각 fancybox 항목에 대한 그것에하는 HREF를 가지 만든 배열에 액세스하여 제목을 포맷 할. 이 클래스에 액세스하려면 클래스가 배열 참조로 사용되므로 요소의 클래스를 가져올 수 있어야합니다. 여기

myArray[class]=hrefValue.는 HTML입니다 :

<a class="fancybox" title="A microsite designed to work alongside a marketing campaign to get vacant posts filled in Bradford Royal Infirmary's Radiology department" href="images/assets/web_design/lookdeeper_fullsize.jpg"> 
     <img alt="thumbnail of Look Deeper" src="images/assets/web_design/lookdeeper_thumbnail.png"> 
</a> 

하지만 그 클래스에 대한 참조를 얻을 수 없습니다. 내 경고가 정의되지 않은 것으로 표시됩니다. 그러나 방금 $ (this) 경고하면 'object'에 경고합니다. 그래서 생각하고 있어요, dom 요소 대신에 formatTitle 함수를 호출하는 것입니다. 그래서 dom에 대한 참조를 얻을 수없는 이유는 무엇입니까?

+0

'$ (이) 원하는 것을입니다 당신이 생각하는대로되지 않을 수도있다.'console.log ($ (this))'를 사용하여 이것이 처음이라고 생각하는 것을 확인한다. –

+0

Firebug 또는 Chrome 개발자 도구를 사용하면'alert();에 값을 출력하는 것보다 쉬울 것입니다.'console.log()'또는 다른'console' 메소드를 사용하십시오. – veritas

+0

방화 광을 사용하지만, 어디에 있는지 모르겠습니다. 콘솔 – Nicola

답변

0

당신이 숫자로 배열을 참조하고 formatTitle 사용 currentIndex 내에서 요소의 보류를 얻을 수있는 ID가없는 경우 :이 경우

function formatTitle(title, currentArray, currentIndex, currentOpts) { 
alert(myArray[currentIndex]); 
return myArray[currentIndex]; 
} 

는`당신이

관련 문제