2012-01-26 6 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(); 

残念ながら私は、サーバー側の言語を使用することはできませんし、私はそれが「REL」属性にファイルの拡張子を書くためにエレガントではないと思います。

ありがとうございました。どんな助けもsincerly apreciatedされます。

答えて

1

aタグでデータ属性を使用します。例<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

関連する問題