为什么我的交换机只返回case pdfResult? [英] Why is my switch only returning case pdfResult?
本文介绍了为什么我的交换机只返回case pdfResult?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,
由于某些原因,我的下面的switch语句不起作用。我得到的唯一一件事是在每个中重复的第一个案例。我不确定我是否遗漏了什么。有人可以提供帮助吗?
Hello,
For some reason my switch statement below isn't working. The only thing I get is the first case repeated in every . I'm not sure if I'm missing something. Would anyone be able to help?
/*------------------------------------------------------------------------------------------------------------------------
File Extension add-ons to <a>
--------------------------------------------------------------------------------------------------------------------------*/
$.fn.addFileExt = (function(options){
var pdfExt = /[.](pdf)/;
var pptxExt = /[.](pptx)/;
var xlsExt = /[.](xls)/;
var docExt = /[.](doc)/;
var docxExt = /[.](docx)/;
var _noExt = ''
var fileExt = {_fileExtType: '_noExt'};
$.extend(fileExt, options)
var overRideExt = $.metadata ? $.extend({}, fileExt, $.metadata.get(this))
:fileExt;
return $(this).each(function() {
var pdfResult = $(this).attr('href').match(pdfExt);
var pptxResult = $(this).attr('href').match(pptxExt);
var xlsResult = $(this).attr('href').match(xlsExt);
var docResult = $(this).attr('href').match(docExt);
var docxResult = $(this).attr('href').match(docxExt);
var spanPDFClass = $("<span>[PDF]</span>").addClass("ext");
var spanPPTXClass = $("<span>[PPTX]</span>").addClass("ext");
var spanDOCClass = $("<span>[DOC]</span>").addClass("ext");
var spanDOCXClass = $("<span>[DOCX]</span>").addClass("ext");
var spanXLSClass = $("<span>[XLS]</span>").addClass("ext");
var extResult = $(this).attr('href').match(overRideExt._fileExtType);
switch(extResult){
case pdfResult:
$(this).parent().append(spanPDFClass);
break;
case pptxResult:
$(this).parent().append(spanPPTXClass);
break;
case docResult:
$(this).parent().append(spanDOCClass);
break;
case docxResult:
$(this).parent().append(spanDOCXClass);
break;
case xlsResult:
$(this).parent().append(spanXLSClass);
break;
};
});
});
/*------------------------------------------------------------------------------------------------------------------------
File extension add-ons (pdf,pptx,doc,docx,xls)
--------------------------------------------------------------------------------------------------------------------------*/
// Check whether links are internal(www.ashp.org):
// (Only works with elements that have href):
var internalURL = window.location.hostname;
$.extend($.expr[':'],{
internal: function(a) {
if(!a.href) {return false;}
return a.hostname && a.hostname == internalURL;
}
});
$('li a:internal[href$="pdf"]').addFileExt({_fileExtType:'pdfExt'}).css('background-color','red');
$('li a:internal[href$="pptx"]').addFileExt({_fileExtType:'pptxExt'}).css('background-color','yellow');
$('li a:internal[href$="doc"]').addFileExt({_fileExtType:'docExt'}).css('background-color','green');
$('li a:internal[href$="docx"]').addFileExt({_fileExtType:'docxExt'}).css('background-color','orange');
$('li a:internal[href$="xls"]').addFileExt({_fileExtType:'xlsExt'}).css('background-color','blue');
<ul>
<li><a href="http://wifl/test.pdf">Test PDF</a></li>
<li><a href="http://wifl/test.pptx">Test PPTX</a></li>
<li><a href="http://wifl/test.doc">Test DOC</a></li>
<li><a href="http://wifl/test.docx">Test DOCX</a></li>
<li><a href="http://wifl/test.xls">Test XLS</a></li>
</ul>
推荐答案
.fn.addFileExt =( function (options){
var pdfExt = /[.](pdf)/;
var pptxExt = /[.](pptx)/;
var xlsExt = /[.](xls)/;
var docExt = /[.](doc)/;
var docxExt = /[.](docx)/;
var _noExt = ' '
var fileExt = {_fileExtType:' _ noExt'};
.fn.addFileExt = (function(options){ var pdfExt = /[.](pdf)/; var pptxExt = /[.](pptx)/; var xlsExt = /[.](xls)/; var docExt = /[.](doc)/; var docxExt = /[.](docx)/; var _noExt = '' var fileExt = {_fileExtType: '_noExt'};
.extend(fileExt,options)
var overRideExt =
.extend(fileExt, options) var overRideExt =
.metadata?
.metadata ?
这篇关于为什么我的交换机只返回case pdfResult?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文