使用 jQuery 无法为主题页面元素添加新类吗?

不错。

听起来你可能需要考虑使用小部件(widget)方案。

另外,还可以考虑这个 API 方法:

api.reopenWidget("poster-name", {

      html() {
          <<your-code-here-but-consider-using-the-original-as-template>>
      }
}

我建议你参考:A tour of how the Widget (Virtual DOM) code in Discourse works

在 Discourse 中实现这类功能需要付出更多的精力,因为它是一个自动化的 Web 应用;但一旦正确实现,解决方案将非常稳健。