2012-02-13 1 views
1

jQuery 개체에 저장된 특정 요소의 텍스트에 대해 "찾기 및 바꾸기"작업을 수행하려고합니다. 정규식 선택기를 사용하는 자바 스크립트 함수 .replace()을 사용하여 텍스트를 바꾸려고합니다. 이 샘플 코드를 수정하는 방법은 무엇입니까?jQuery : .replace()를 사용하여 요소 내부의 텍스트 바꾸기

$(JQUERY_OBJECT).html(
    $(this).text().replace(/REGEX_EXPRESSION/, 'REPLACEMENT_TEXT') 
); 

: 내가 조작하고 JQuery와 객체는 자식 요소를 포함 할 수 있지만, 내가 그들을 유지하고 싶지 않아요. 그래서 .text()을 사용하고 있습니다. 그러나 내부 요소를 삭제하지 않고 .replace() 함수를 실행할 수 있다면 좋을 것입니다.

답변

0
var text = $(this).text().replace(/REGEX_EXPRESSION/, 'REPLACEMENT_TEXT'); 
$(this).text(text); 

또는 적절한 경우 두 번째 텍스트() 대신 replaceWith를 사용할 수 있습니까?

2

최신 버전의 jQuery를 사용하는 경우 .html() 메서드는 함수를 인수로 받아들이고 함수는 현재 내용을 인수로 받고 반환 값을 사용하여 현재 내용을 바꿉니다.

그래서 코드는 다음과 같습니다

$(JQUERY_OBJECT).html(function(idx,oldHtml){ 
    //idx is the index of the current element in the JQUERY_OBJECT 
    return oldHtml.replace(/REGEX_EXPRESSION/, 'REPLACEMENT_TEXT') 
}); 

http://api.jquery.com/html/#html2

은 동일한 이야기 ​​

$(JQUERY_OBJECT).text(function(idx,oldText){ 
    //idx is the index of the current element in the JQUERY_OBJECT 
    return oldText.replace(/REGEX_EXPRESSION/, 'REPLACEMENT_TEXT') 
}); 

http://api.jquery.com/text/#text2

또는이다 .text()를 사용하여 당신이 이미 가지고 무엇을 다시 쓰기 .h의 조합 사용 tml 및 .text

$(JQUERY_OBJECT).html(function(idx,oldHtml){ 
    return $(this).text().replace(/REGEX_EXPRESSION/, 'REPLACEMENT_TEXT') 
}); 
+0

1. 사용자가 말한 입력 인수를 설명하는 jQuery 문서 링크를 제공 할 수 있습니까? jQuery .html() 문서 페이지에서 나에게하신 내용에 대한 설명을 찾지 못했습니다. –

+0

2. .html()이 아닌 .text() 함수를 사용하여 요소의 내용을 가져와야합니다. 그에 따라 답을 수정할 수 있습니까? –

+0

2. 그러나 요소의 자식을 보존하고 싶습니다. 당신이 할 수 있다고 생각하지 마십시오. 텍스트() – ekhaled

관련 문제