Zet - Why does using queryselector on an element id starting with a hash fail?

Why does using queryselector on an element id starting with a hash fail?

Because of how css escapes the hash.

You need to use CSS.escape()

eg.

const el = document.querySelector(CSS.escape(id))

See https://kiru.io/til/entries/2024-01-16-javaScript-difference-querySelector-and-getElementById/

#css