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 GLI shares important update to its GLI-19 v3.0 standard » Gaming And Media