html:
<select id="dropdown"> <optgroup> <option>11111</option> <option>22222</option> </optgroup> <optgroup> <option>33333</option> <option>44444</option> </optgroup> </select> Quiero seleccionar los últimos 4 caracteres de la cadena en cada <option> , luego diseñarlos como color:white; . Pero aún necesito que estén allí, solo que nadie pueda verlos.
Esto es lo que tengo:
let myStr = document.querySelector('#dropdown optgroup option').innerHTML; let lastChar = myStr[myStr.length -4];solo selecciona el segundo carácter en la cadena, ¿tal vez un bucle for para seleccionar los últimos 4?
Ampliando lo que decía uno de los comentarios:
<select id="dropdown"> <optgroup> <option value="11111">1</option> <option value="22222">2</option> </optgroup> <optgroup> <option value="33333">3</option> <option value="44444">4</option> </optgroup> </select>El estilo no funcionará de todos modos (tiene opciones muy limitadas para diseñar elementos seleccionados), e incluso si lo hiciera, hacer que el color sea el mismo que el fondo es una práctica extremadamente mala. Si debe hacer ese tipo de cosas en el futuro, es mejor manipular el elemento en sí mismo en lugar de tratar de ocultarlo.
Puede usar el método de slice para seleccionar los últimos x caracteres en una cadena.
let myStr = document.querySelector('#dropdown optgroup option').innerHTML; let lastChar = myStr.slice(-4);https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice