2012-01-26 94 views
0

在我的標記有一些導航與一些鏈接;在點擊它們時,我通過這種方式將外部頁面加載到主要內容中:發現文件的未知擴展名加載異步只有文件名

$('nav a').click(function() { 

    rel = $(this).attr('rel'); 

    link = 'includes/'+rel+'.html'; /* <-- this is the matter */ 

    $('content').empty().append($('<div id="mainframe"></div>').load(link, function() { 

     /* do the stuff */ 

    }); 

});

那麼,一切都很好,直到我被告知可能要加載的內容不僅可以是.html,而且.jsp等等。 所以,我想知道是否可以找到未知的文件擴展名,以便編寫類似下面的僞代碼。

link = 'includes/'+rel+'findRelativeFileExtension(); 

可惜我不能使用服務器端語言,我認爲這是不優雅寫的「相對」屬性的文件擴展名。

在此先感謝您,任何幫助都將真誠地貶低。

回答

1

在您的a-tag中使用數據屬性。防爆<a data-filename="nnn.jsp">download</a> 並與rel = $(this).attr('data-filename');

自定義數據屬性讀取它旨在私人定製數據存儲到 頁面或應用,其中有沒有更合適的 屬性或元素。

http://html5doctor.com/html5-custom-data-attributes/ http://dev.w3.org/html5/spec/elements.html#embedding-custom-non-visible-data

+1

如果你不能得到的數據在其他地方(服務器端),那麼你必須把它存儲在標記和做到這一點的最佳方法是使用自定義數據的屬性。那就是他們的目的:) –

+0

好的,我不喜歡。如果沒有另一種方式,我採取這種解決方案。非常感謝你:)我接受你的回答。如果你願意的話,你可以爲我的問題投票。 :) – bobighorus