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 VR content revenue will be more than US$7 billion by 2025, led by console gamers » Gaming And Media