jQueryでAタグのURLに拡張子.pdfがあったら自動でPDFアイコンを付ける
横にPDFアイコンが付いたリンクタグを見かけますが、あれをCSSの属性セレクタで拡張子.pdfへのリンクの場合は自動でアイコンを付けるって技が有ります。
知ったかぶってますが、現在やっている案件のデザイナーさんから教えて頂きました。
CSS
a[href $='.pdf'] {
background-repeat: no-repeat;
background-image: url(pdf.gif);
padding-left:45px;
padding-top:8px;
padding-bottom:8px;
}
便利だなぁと思ったのですが、コードを見てIE下位バージョンで使えるのかな?と思い、確認して見ると表示出来ないようで・・・さすがにそろそろIE8以上くらいで考えたいのですが、せっかくなのでjQuery使ってIE6でも表示出来る方法を考えてみました。
jQuery
jQuery(document).ready( function() {
var tag = jQuery("body a");
tag.each(function(){
var href = jQuery(this).attr('href');
if (href != null ) {
href = href.replace(/#/g,'');
if (href.match(/.pdf/i) ) {
jQuery(this).addClass("href_pdf");
}
}
});
});
CSS
.href_pdf{
background-repeat: no-repeat;
background-image: url(pdf.gif);
padding-left:45px;
padding-top:8px;
padding-bottom:8px;
}
jQueryでBODY内のAタグを取り出し、.pdfという文字列があったらクラスを当てるってものです。エクセルとかワードとか作っておけば便利っすね。




