2013-05-26 4 views
0

약간의 문제가 있습니다 - H1 요소의 이미지에 "K"및 "k"문자를 대체하고 싶습니다.Jquery의 이미지로 여러 문자 바꾸기

나는 이것을 시도하고 그것은 하나 개의 문자를 꽤 좋은 작동합니다

$(function() { 
    $("h1").each(function() { 
     if($(this).children().length==0) { 
      $(this).html($(this).text().replace('K', '<img src="http://www.fotograf-in-frankfurt.biz/img/v2013/k_cap.png" style="display:inline-block;" alt="K">')); 
     } 
    }); 
}); 

이 하나가 자본 "K"를 꽤 잘 작동했지만 지금은 allso가 하나 아래를 교체 할 - 그래서 노력이 : 결과는 마침내 약간의 소름 끼치는 모습

$(function() { 
    $("h1").each(function() { 
     if($(this).children().length==0) { 
      $(this).html($(this).text().replace('K', '<img src="http://www.fotograf-in-frankfurt.biz/img/v2013/k_cap.png" style="display:inline-block;" alt="K">').replace('k', '<img src="http://www.fotograf-in-frankfurt.biz/img/v2013/k_low.png" style="display:inline-block;" alt="k">')); 
     } 
    }); 
}); 

-이 같은 : 인라인 B : 디스플레이

furt.biz/img/v2013/k_cap.png "= 스타일" 내가이 만든 확신

연락처 기술 & Terminvereinbarung

: "ALT ="K "> & ontakt Terminvereinbarung

을하지만 더 대체 문자를 다음과 같이한다 잠금 실수는 어쩌면 바보 같은 짓일지도 모르지만 어디서?

도움을 주셔서 감사합니다.

답변

2

두 번째 인수로 함수를 사용하십시오. string.replace 이것은 일치를 인수로 받고 값을 대체하여이를 바꿉니다. 이렇게하면 한 번에 모든 작업을 수행 할 수 있으므로 첫 번째 작업의 결과물을 다시 처리하지 않아도됩니다.

str.replace(/k/ig, function(char) { 
    switch(char) { 
     case 'K': 
      return '<img src="http://www.fotograf-in-frankfurt.biz/img/v2013/k_cap.png" style="display:inline-block;" alt="K">'; 
      break; 
     case 'k': 
      return '<img src="http://www.fotograf-in-frankfurt.biz/img/v2013/k_low.png" style="display:inline-block;" alt="k">'; 
      break; 
    } 
}); 

모든 인스턴스를 바꾸려면 수정 자 g이있는 정규 표현식을 사용해야합니다. g없이 문자열이나 정규 표현식을 사용하면 하나의 대체 코드 만 수행됩니다.

+0

고마워요! 그것은 나를 위해 꽤 잘 작동했습니다! – aklein

0

"k"를 이미지 태그 안의 "k"로 바꾸는 것 같습니다. fran * k * furt. 먼저 모든 대문자 K를 "UPPERREP"로 바꿀 수 있으며, 아래쪽 모두를 "LOWERREP"로 대체 한 다음 이미지로 바꾸십시오. 이렇게하면 두 번째 이미지 요소를 추가 할 때 첫 번째 이미지 요소를 파기하거나 교체하거나 완전히 없앨 수 있습니다.

-1

또한 HTML 코드의 내부 문자를 k 및 K로 바꿉니다. 다음을 수행하십시오.

str=[your string].replace('K', '!!__Big__!!').replace('k', '!!__Small__!!'); 
str=str.replace("!!__Big__!!", "[code here]").replace("!!__Small__!!","[Code here]"); 
+0

텍스트가 없으면 작동해야합니다 !! __ Big__ !! 그리고 __ 작은 __ !! 귀하의 코드입니다. :) – WhyMe