자바스크립트를 사용하여 텍스트 일부의 배경색을 변경하시겠습니까?
-
16-09-2019 - |
문제
예를 들어 html 태그가 있는 텍스트의 일부가 있습니다.
<b>something</b>
예를 들어 "some"과 같은 텍스트의 일부를 선택합니다.
getSelection().getRangeAt(0);나는 캐럿(텍스트 커서)의 위치를 얻으므로 내가 선택한 텍스트 부분을 알 수 있습니다.
나는 startOffset과 endOffset을 가지고 있습니다.하지만 문제는 startOffset과 endOffset이 html 태그를 무시하므로 반환되는 숫자가 나쁘지 않고 텍스트의 어느 부분에 적용해야 할지 알 수 없다는 것입니다.
<span style="background-color: somecolor ">some</span>
이 문제를 해결하는 방법에 대한 아이디어가 있습니까?감사해요
해결책
<b id='str1'>something</b>
<script>
function jsReplace()
{
var elem = document.getElementById('str1')
elem .innerHTML = elem .innerHTML.replace('some', '<span style="background-color: somecolor ">some</span>')
}
</script>
제휴하지 않습니다 StackOverflow