Ahí está el problema entonces. Los widgets de Elementor y los carousels se renderizan después del DOMContentLoaded, así que cuando tu script busca [banner], todavía no existen en el DOM. La solución más práctica es usar un pequeño delay, o mejor aún, un polling que espere a que estén todos: javascript U.S. consumer spending on mobile gaming reaches 28% of the global market » Gaming And Media