This is an odd one..
The followings are taking place well after the page has been loaded.
I'm trying to add a class to a known (I know the element's id) DOM element.
The title of your question isn't really related. jQuery selectors always return a deferred function of sorts. Commonly called a jQuery set wrapper. In this case, it's wrapping an empty set.
I think your real confusion here is caused by the
# that you put in the id. Get the
# out of the id and you'll be fine. Alternatively, see other answers on escaping it.