jQueryを使ったアイコン付加プラグイン(pdf,doc,xls,zip対応版)
以前にポストしたブログ記事「jQueryを使ったPDFアイコン付加プラグイン」ですが、今回はPDFファイルだけでなく、Word,Excel,ZIPに対応させたものを作ってみました。
今回も折り返した時にIE6/IE7でアイコンの表示がずれるバグに対応させるためspanタグを挿入し、after, beforeのパラメーターを変更することによって前後にアイコンを付加させます。
簡単にコード解説をします。
jQuery Code
var o = $.extend(
{
elem: 'a[href$=".pdf"], a[href$=".doc"], a[href$=".xls"], a[href$=".zip"]',
iconPos: 'after',
noIconClass: '.noIcon'
}, options);
ターゲットとなる要素を属性セレクタを用いてpdf,doc,xls,zipに絞りこみます。アイコンのポジションは初期値ではafterで後ろに表示させます。画像などにファイルをリンクさせる場合にアイコンを表示させないクラスを.noIconとします。
var etx = $(this).attr('href');
href属性の値をetxと言う変数に格納します。これを正規表現でチェックし、各ファイルタイプごとの処理に振り分けます。
if(etx.match(/.pdf$/))
{
PDFの場合の処理
}
//で囲まれた部分が正規表現です。/.pdf$/で末尾に.pdfのものにマッチします。/.doc$/で.docのようになります。ちなみにこれら全ての拡張子のいずれか...と言ったものは/.(pdf|xsl|doc|zip)$/と記述されます。
zipでダウンロード出来るようにしました。利用はご自由にどうぞ。
追記
正規表現について教えてくれた@n_tange君に感謝します。