为什么我的交换机只返回case pdfResult? [英] Why is my switch only returning case pdfResult?

查看:49
本文介绍了为什么我的交换机只返回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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆