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 Virtual reality gaming keeps confirming its expansion in 2020 » Gaming And Media