Saludos comunidad. Mi problema es tal como indico. Veamos:

Tengo el header principal. Creo una clase para, mediante jquery, cambiar el color de fondo del header al hacer scroll. Y funciona. El problema surge cuando pienso: no quiero que todos los headers tengan el mismo estilo del principal y entonces le doy una id. Cambio las propiedades en el css (de header a #header) y lo mismo en el script de jquery. Y sorpresa: no funciona. Hice una prueba con el código básico, y es lo mismo. Al aplicar los estilos a la etiqueta, funciona. Al aplicarlos a la id, ya no.

ESTO FUNCIONA

Código HTML :

En el HTML:
<header> header </header>

En el CSS:
header {
  height: 4.500em;
  position: fixed;
  background: #ffffff;
  border-bottom: solid 0.063em #fff;
  transition: all 0.4s ease-in-out;
}
.scroll-header {
  background: #f3f3f3;
  border-bottom: solid 0.063em #d2d2d2;
}

En el JQUERY:
$(window).scroll(function() {
    if ($(this).scrollTop() > 80) {  
      $('header').addClass("scroll-header");
    } else {
      $('header').removeClass("scroll-header");
    }
});


ESTO NO FUNCIONA

Código HTML :

En el HTML:
<header id="header"> header </header>

En el CSS:
#header {
  height: 4.500em;
  position: fixed;
  background: #ffffff;
  border-bottom: solid 0.063em #fff;
  transition: all 0.4s ease-in-out;
}
.scroll-header {
  background: #f3f3f3;
  border-bottom: solid 0.063em #d2d2d2;
}

En el JQUERY:
$(window).scroll(function() {
    if ($(this).scrollTop() > 80) {  
      $('#header').addClass("scroll-header");
    } else {
      $('#header').removeClass("scroll-header");
    }
});

Como pueden ver, la única diferencia es que, aplico el código primero a la etiqueta y después a la ID, caso en el que no funciona.

Y entonces pregunto: ¿Cuál es el motivo? ¿Qué he pasado por alto?

De antemano, muchas gracias.