I think the trick is to wrap any JS ports that touch the DOM inside requestAnimationFrame. So if you pass an id or some other selector through the port, then you should be able to grab the DOM node inside the requestAnimationFrame callback. Here’s the original post where I learned that trick: