2013-10-21 5 views
0

동일한 디렉토리에있는 이미지의 더 큰 버전을 찾는 간단한 찾기 및 바꾸기 스크립트를 작성합니다.jQuery를 사용하여 filename의 마지막 문자를 다른 문자로 바꿉니다.

제대로 표시되지 않거나 작동하지 않는 것 같습니다.

작은 이미지가있는 경우 jQuery에서 더 큰 버전으로 바꾸기를 원합니다. 작은 이미지의

예 : 큰 이미지의

<img src="/images/sub/1234S.jpg" />

예와 작은 버전으로 교체 : 그래서 모든 그것이

<img src="/images/sub/1234L.jpg" /> 

을 '함께'에게 S '를 대체하는 단지입니다 L '이것은 내 이미지 전체에 걸쳐 상대적입니다. 이것은 항상 파일 확장자 앞에있는 URL의 마지막 문자입니다.

제공된 이미지 파일 이름에 'L'이 (가) & 'S'가 포함되어 있으므로 '질량'대신 'S'를 'L'로 바꾸십시오. 그것은 단지 마지막 문자입니다.

지금까지 'L'을 끝에 추가했습니다.하지만 'S'를 제거 할 수는 없습니다.

var imageType = images[i].src.substr(-4); 
var imageName = images[i].src.substr(0, images[i].src.length - 4); 
imageName += "L" + imageType; 

'슬라이스'를 사용해 보았지만 제대로 작동하지 않았습니다. 어떤 아이디어라도 크게 감사 할 것입니다.

+0

괜찮습니다. 제 질문을 풀었습니다. 날 너무 늦었 어. :) var imageType = images [i] .src.substr (-4); var imageName = 이미지 [i] .src.substr (0, images [i] .src.length - 5); imageName + = "L"+ imageType; – GBrooksy

답변

1

당신은 모든 이미지는 3 문자 확장명을 가진 것이 확실한 경우처럼 할 수

"/images/sub/1234S.jpg".replace(/S.jpg$/, 'L.jpg') 
+0

\이어야합니다. '.' 어떤 것도 일치합니다 – jeremy

+0

gif, png –

+0

'var imageName = images [i] .src.substr (0, images [i] .src.length - 5);' – GBrooksy

0
var imagePath = images[i].src; 
var imageType = imagePath.src.substr(-4); 
var withoutExtension = ID.substring(imagePath.lastIndexOf(".") + 1); 
var final = withoutExtension + "S" + imageType ; 
0

'L'의 'S'를 스왑 아웃 정규 표현식을 사용할 수 있습니다 이 :

var imageType = images[i].src.substr(-4); 
var imageName = images[i].src.substr(0, images[i].src.length - 5); 
imageName += "L" + imageType; 

(. Basicaly, 단지 ...images[i].src.length - 5......images[i].src.length - 4... 교체)보다 "강력한"를

용액 (예.

var regex = /S(\.[^\.]+)$/; 
... 
images[i].src.replace(regex, "L" + "$1"); 
... 
0

되는 HTML을 감안할 때

var len = images[i].src.lastIndexOf('.'); 
var imageType = images[i].src.substr(len); 
imageName = images[i].src.substr(0,len-1)+'L'+imageType; 
0

보십시오 : 여러 파일 유형과 변수 확장 길이)를 차지, 당신은이 regular expression 사용할 수 있습니다

<img src="/images/sub/1234L.jpg" /> 

그리고 가정이 클릭 이벤트에서 크고 작은 이미지간에 변경하고자하는 경우 :

$('img').on('click', function(){ 
    $(this).prop(function(i,s){ 
     return s.replace(/(S|L)\.jpg$/,function(a){ 
      console.log(a); 
      return (a === 'S' ? 'L' : 'S') + '.jpg'; 
     }); 
    }); 
}); 
관련 문제