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 Rosa María Muñoz Moreno (Coljuegos) detalló el gran trabajo del regulador del juego colombiano » Gaming And Media