자바스크립트를 사용하여 텍스트 일부의 배경색을 변경하시겠습니까?

StackOverflow https://stackoverflow.com/questions/1476193

  •  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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top