JSFiddle - React, Tailwind, and code Playground

HTML

<button>Highlight text</button>

<div id="container">
<table>
  <tr><td>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
      <td><div style="margin:2em; position: relative"><div style="background:rgba(255,240,240,0.7); margin:1em">Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
<div id="goal">This sentence should be bordered and highlighted, please and thank you.</div>
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
          </div></div>
      <td>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.
</table>
</div>

CSS

#container {
  position: absolute;
  margin: 2em;
  padding: 1em;
  width: 5000px;
}

table {
  margin: 1em;
  width: 40em;
  font: 12px verdana;
  position: absolute;
    
}

button {
  position: fixed;
  z-index: 1;
  background: #dfd;
  font-weight: bold;
  padding: 0.5em;
}

#goal {
  color: red;
}

.highlight {
  position: absolute;
  border: 1px solid red;
  border-radius: 10px;
  background: yellow;
  z-index: -1;
}

JavaScript

function getCSSAbsolutePosition(el) {
  var pos= ('absolute relative').indexOf(getComputedStyle(el).position) == -1,
      rect1= {top: el.offsetTop * pos, left: el.offsetLeft * pos},
      rect2= el.offsetParent ? getCSSAbsolutePosition(el.offsetParent) : {top:0,left:0};
      
  return {top: rect1.top + rect2.top,
          left: rect1.left + rect2.left,
          width: el.offsetWidth,
          height: el.offsetHeight
         };
}

document.querySelector('button').addEventListener('click', function() {
  var goal= document.querySelector('#goal'),
      rect1= getCSSAbsolutePosition(goal),
      div= document.createElement('div');

  div.className= 'highlight';
  div.style.top= rect1.top + 'px';
  div.style.left= rect1.left + 'px';
  div.style.width= rect1.width + 'px';
  div.style.height= rect1.height + 'px';
  goal.parentNode.appendChild(div);
});