2012-01-26 37 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