$("a[href $='.pdf']" ).addClass("linkIconPDF");
$("a[href *='.pdf#']").addClass("linkIconPDF");
$("a[href *='.pdf;']").addClass("linkIconPDF");
$("a[href *='.pdf?']").addClass("linkIconPDF");
$("a[href $='.txt']" ).addClass("linkIconTXT");
$("a[href *='.txt#']").addClass("linkIconTXT");
$("a[href *='.txt;']").addClass("linkIconTXT");
$("a[href *='.txt?']").addClass("linkIconTXT");
到目前为止一直很好,但如何简化以匹配任何文件类型?
是否可以进行一些正则表达式分组以匹配所有可能的文件类型?
$("a[href $='.([a-zA-Z0-9]{2,4})']" ).addClass("linkIcon$1");
答案 0 :(得分:6)
$("a").each(function(){
var match = this.href.match(/\.([a-zA-Z0-9]{2,4})([#;?]|$)/);
if(match){
$(this).addClass("linkIcon" + match[1]);
}
});
答案 1 :(得分:1)
$("a[href*='.pdf']" ).addClass("linkIconPDF");
$("a[href*='.txt']" ).addClass("linkIconTXT");
以通配符方式选择链接。
答案 2 :(得分:1)
为什么不试试这个
$("a[href $='.$']" ).addClass("linkIconANYFILE");
答案 3 :(得分:1)
具有每个函数的数组是否优于使用正则表达式选择器?
var fileTypes = new Array("a[href $='.pdf']","a[href *='.pdf#']");
fileTypes.each(function(index,val){
$(val).addClass('LinkIconPDF');
});