2012-03-22 5 views
1

私はFancyboxの中に自分の属性を入れてみて、hrefを使うと得ますが、私の属性を取得しようとすると "undefined"になります。ファンシーボックス内のAttr

<a class="grouped_elements" rel="Group1" id="@item.Id" private="@item.Private" title="@item.Title" href="/Image/ShowFile/@item.Id"> 
       <img src="/Image/ShowThumb/@item.Id" alt="@item.Title" /></a></div> 

function formatTitle(title, currentArray, currentIndex, currentOpts) { 

       var titlenormal = '<input type="hidden" id="idPhoto" value="' + currentArray[currentIndex].id + '">' + 
        '<span id="fancybox-title-over">' + 
        '<div id="boxComment" style="position:relative;"><div style="white-space: nowrap;"><div style="float: left;">' + title + '</div><div id="star" style="width:100%">&nbsp;</div></div>'; 

       alert($(this).attr("href")); 



       return titlenormal; 

      } 

答えて

1

あなたは、あなたの機能formatTitle作品やアラートhref属性値

$(".fancybox").fancybox({ 
'titleFormat': formatTitle 
}); 

ようfancybox内のオプションtitleFormatを設定している場合。

あなたもthis.href代わり

EDIT使用することができます:2012年3月23日 - コメントに反応して12:30 PTを。

あなたは、取得したい属性を指定するのに十分ではないと思います。

とにかくはがこの時点ではファンシーボックス機能内のjQueryオブジェクトであるため、privateではありません。

回避策として

、代わりにこれを試してみてください。

alert($(".grouped_elements").eq(currentIndex).attr('private')); 

をのようなあなたのformatTitle関数内:

function formatTitle(title, currentArray, currentIndex, currentOpts) { 
    var titlenormal = '<input type="hidden" id="idPhoto" value="' + currentArray[currentIndex].id + '">' + 
    '<span id="fancybox-title-over">' + 
    '<div id="boxComment" style="position:relative;"><div style="white-space: nowrap;"><div style="float: left;">este es ' + title + '</div><div id="star" style="width:100%">&nbsp;</div></div>'; 
    alert($(".grouped_elements").eq(currentIndex).attr('private')); 
    return titlenormal; 
} 

あなたはまたのような属性privateを取得する代わりにonCompleteコールバックを使用することができます

'onComplete': function(currentArray, currentIndex){ 
    alert($(".grouped_elements").eq(currentIndex).attr('private')); 
} 
+0

アラートは非常にうまく機能し、これはテスト。私はタグ内の属性をプライベートにする必要があります – AFetter

+0

私の編集した回答を参照してください – JFK

+0

@Celho:そう、それは動作しますか? – JFK

関連する問題