source

jdiv가 이 텍스트를 포함하는 경우 텍스트의 해당 부분을 바꿉니다.

manycodes 2023. 9. 13. 22:50
반응형

jdiv가 이 텍스트를 포함하는 경우 텍스트의 해당 부분을 바꿉니다.

제목에서 알 수 있듯이, 나는 디브에서 텍스트의 특정 부분을 대체하고 싶습니다.

구조는 다음과 같습니다.

<div class="text_div">
    This div contains some text.
</div>

예를 들어 "contains"만 "hello everyone"으로 대체하고 싶습니다.이것에 대한 해결책을 찾을 수가 없습니다.

메소드를 사용하고 native 메소드를 사용하여 수정된 텍스트를 반환하는 함수를 전달하여 바꾸기를 수행할 수 있습니다.

​$(".text_div").text(function () {
    return $(this).text().replace("contains", "hello everyone"); 
});​​​​​

여기 작동하는 예가 있습니다.

가능한 경우 대체할 단어를 다음과 같이 스팬 태그로 래핑할 수 있습니다.

<div class="text_div">
    This div <span>contains</span> some text.
</div>

그런 다음 jQuery를 사용하여 내용을 쉽게 변경할 수 있습니다.

$('.text_div > span').text('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 d = $('.text_div');
d.text(d.text().trim().replace(/contains/i, "hello everyone"));

contains selector를 사용하여 특정 텍스트가 포함된 요소를 검색할 수 있습니다.

var elem = $('div.text_div:contains("This div contains some text")')​;
elem.text(elem.text().replace("contains", "Hello everyone"));

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

언급URL : https://stackoverflow.com/questions/11324559/jquery-if-div-contains-this-text-replace-that-part-of-the-text

반응형