2012-10-21 3 views
1

내 영어로 죄송합니다. =) 페이지의 일부 요소를 교체해야합니다. 세 번째 요소 배열을 제거하면 첫 번째와 세 번째, 제 1 및 제 2 변경 교체 그러나루프의 텍스트에있는 모든 텍스트를 바꾸는 방법은 무엇입니까?

var text1 = $('body').html().replace(/text1/, 'text11'); 
var text2 = $('body').html().replace(/text2/, 'text22'); 
var text3 = $('body').html().replace(/text3/, 'text33'); 
array = [text1, text2, text3]; 
     for (var i = 0; i < array.length; i++) { 
     $('body').html(array[i]) 
     }; 

: 여기 내 코드입니다. 어떻게하는지 말해줘. 고맙습니다!

답변

2
var items = [ 
    { find: /text1/, replace: 'text11' }, 
    { find: /text2/, replace: 'text22' }, 
    { find: /text3/, replace: 'text33' } 
]; 
var text = $('body').html(); 

for (var i = 0; i < items.length; i++) 
{ 
    var item = items[i]; 
    text = text.replace(item.find, item.replace); 
} 

$('body').html(text); 
+0

FWIW, RegEx에서 필요가 없습니다. – VisioN

2

변수가 평가 될 때 원본 본문 html이 변경되지 않기 때문입니다. 당신은 체인으로 대체합니다 필요하거나 다른 대체합니다에 대한 이전의 변수를 사용합니다 :

var text1 = $('body').html().replace(/text1/, 'text11'); 
var text2 = text1.replace(/text2/, 'text22'); 
var text3 = text2.replace(/text3/, 'text33'); 

을 그리고 당신은 일반적으로 입력 '을 의미한다 ..

$('body').html(text3); 
+0

체인 어떤 반복이 필요하지 않습니다. 바꾸기 (...). 바꾸기 (...). 바꾸기 (...) ... ' –

+0

@JanDvorak. 게시물을 다시 읽으십시오. "체인 교체 ** 또는 이전 변수를 사용 **" –

+0

@ JanDvorak 맞았 어, 난 여전히 대답을 편집했다 .. –

관련 문제