Definitely not running on server side. It’s doing nothing at all.
When I run the command in console, it’s not removing the class, but it’s notifying me of each object that has the class, as if I did a find() event on them.
As any other jQuery function, .each is working on Meteor, except that you need to make sure it runs when the DOM is actually ready with what you want to .each over. It is a very common misconception putting jQuery in .onRendered callback and assuming that the DOM is all the way rendered. Reactivity might actually foil your plan a little bit.
Even in event callbacks there is a misconception about how to use jQuery. In Blaze an event callback receives the event and template the event occurred in. Every Blaze template has its own template.$ jQuery that will scope it to the DOM of the template.
The issue can be that child templates inherit the parent events, muddling the concept of the template DOM a little. That is at least my experience.
Exactly, this issue doesn’t have anything to do with Meteor.
$('.new').each(callback) passes index as the first argument to the callback rather than the matched element. The jQuery docs describe it clearly here: https://api.jquery.com/each/