ページ上のすべてのリンクを検索し、タグがリンクするファイルの種類を識別し、適切なクラスを追加する小さな jQuery/javascript 関数を作成しようとしています。このタスクの目的は、リンクの反対側のファイルの種類に応じてリンクのスタイルを設定することです。
これまでのところ、私はこれを持っています:
$(document).ready(function(){
$('#rt-mainbody a').each(function(){
linkURL = $(this).attr('href');
var match = linkURL.match("^.*\.(pdf|PDF)$");
if(match != null){$(this).addClass('pdf');}
});
});
そして、たとえば、スプレッドシート ファイル、Word ドキュメント、テキスト ファイル、jpg などを識別するという概念を続けます。
それは機能します...しかし、問題は、SOとインターネットで見つけたオッズと芝から完全に失敗したため、私にとってこれは非常に不格好です-もっときちんとした、より効率的な、これを行うためのより読みやすい方法ですが、それが何であるかはわかりません。誰かが唾を吐きかけて磨いてくれませんか?
理想的には、関数は、(a) 拡張子が href 文字列の末尾にあること、および (b) 拡張子の前にドットがあることを検出する必要があります。
ありがとう!:)
編集
わお!こんな反応!:) みんなありがとう!
単純にセレクターを使用する方法を見たとき、それは少し顔をしかめた瞬間でした - しかし、私がこのアプリを構築しているエンドユーザーは、多数のリソース Web サイトの PDF (および場合によっては他の MIME) にリンクしており、それらを制御することはできません。それらがリンクするファイル名のケースの使用...セレクターを使用することは、結果が非常に矛盾するため、明らかに行く方法ではありません。
編集
そして大賞は @Dave Stein に贈られます!! :D
私が採用する解決策は、大文字と小文字を問わず、あらゆる拡張機能に対応する「設定してそのままにする」スクリプトです (私をいじってください)。
私がすでに最善の解決策にかなり近づいていたことを知って本当に良かったです...良い判断よりも運が良かったのですが、XD