제목처럼 div에서 텍스트의 특정 부분을 바꾸고 싶습니다.
구조는 다음과 같습니다.
<div class="text_div">
This div contains some text.
</div>
예를 들어 “포함”만 “안녕하세요 모두”로 바꾸고 싶습니다. 이에 대한 해결책을 찾을 수 없습니다.
답변
text
메서드 를 사용하고 수정 된 텍스트를 반환하는 함수를 전달할 수 있습니다 . 기본 String.prototype.replace
메서드를 사용하여 대체를 수행 할 수 있습니다.
$(".text_div").text(function () {
return $(this).text().replace("contains", "hello everyone");
});
다음은 작동하는 예 입니다.
답변
가능하다면 다음과 같이 바꾸고 싶은 단어를 span 태그로 감쌀 수 있습니다.
<div class="text_div">
This div <span>contains</span> some text.
</div>
그런 다음 jQuery로 내용을 쉽게 변경할 수 있습니다.
$('.text_div > span').text('hello everyone');
span 태그로 래핑 할 수없는 경우 정규식을 사용할 수 있습니다.
답변
var d = $('.text_div');
d.text(d.text().trim().replace(/contains/i, "hello everyone"));
답변
매우 간단하게이 코드를 사용하면 HTML은 유지되고 래핑되지 않은 텍스트 만 제거됩니다.
jQuery(function($){
// Replace 'td' with your html tag
$("td").html(function() {
// Replace 'ok' with string you want to change, you can delete 'hello everyone' to remove the text
return $(this).html().replace("ok", "hello everyone");
});
});
다음은 전체 예입니다. https://blog.hfarazm.com/remove-unwrapped-text-jquery/
답변
포함 선택기 를 사용하여 특정 텍스트를 포함하는 요소를 검색 할 수 있습니다.
var elem = $('div.text_div:contains("This div contains some text")');
elem.text(elem.text().replace("contains", "Hello everyone"));