getElementByID funciona, getElementsByClassName no [duplicar]

Esta pregunta ya tiene una respuesta aquí:

¿Qué devuelven los métodos querySelectorAll y getElementsBy *? 9 respuestas

Estoy trabajando en una solución que agrega dinámicamente cuadros seleccionados de entrada / menú desplegable a una página. El código de ejemplo a continuación funciona si le doy a cada entrada de selección una identificación única e incluyo una línea de cod4e al script usando getElementById () pero no funciona si uso GetElementsByClassName ().

Mi objetivo es usar un script para llenar el cuadro de entrada de selección sin la necesidad de asignar una identificación única para seleccionar entradas y el código correspondiente al script.

    <select class="p1"></select>
    <select class="p1"></select>
    <select class="p1"></select>

    <script>
    var Date1 = "<option>" + new Date(new Date().getTime()+(1*24*60*60*1000)).toDateString() + "</option>";
    var Date2 = "<option>" + new Date(new Date().getTime()+(2*24*60*60*1000)).toDateString() + "</option>";
    var Date3 = "<option>" + new Date(new Date().getTime()+(3*24*60*60*1000)).toDateString() + "</option>";
    var Date4 = "<option>" + new Date(new Date().getTime()+(4*24*60*60*1000)).toDateString() + "</option>";
    var Date5 = "<option>" + new Date(new Date().getTime()+(5*24*60*60*1000)).toDateString() + "</option>";
    var Date = Date1 + Date2 + Date3 + Date4 + Date5

    document.getElementsByClassName("p1").innerHTML = Date;
    </script>

Respuestas a la pregunta(1)

Su respuesta a la pregunta