Estoy trabajando en la página web donde quiero filtrar productos tomando valores de la barra de navegación usando JS, así:
<nav id="shop-nav" class="nav"> <li> value="1">Something</li> <li> value="2">Something</li> <li> value="3">Something</li> <li> value="4">Something</li> </nav>Mi código JS es:
for (let i = 0; i < categories.length; i++) { const link = document.createElement('li') link.innerHTML = categories[i].name link.value = categories[i].id nav.appendChild(link) } Sé que esto es posible con la etiqueta <select></select> , pero quiero hacerlo con la barra de navegación personalizada. Gracias
Ejecuté el código que proporcionó y hay un error relacionado con las categorías. ¿De dónde vienen las categorías? ¡Gracias!
Además, hice una pequeña actualización en el HTML, a continuación.
Blockquote Uncaught ReferenceError: las categorías no están definidas
for (let i = 0; i < categories.length; i++) { const link = document.createElement('li') link.innerHTML = categories[i].name link.value = categories[i].id nav.appendChild(link) } <nav id="shop-nav" class="nav"> <li value="1">Something</li> <li value="2">Something</li> <li value="3">Something</li> <li value="4">Something</li> </nav>Puedo estar malinterpretando por favor corrígeme si lo estoy. Pero si desea obtener los valores de la barra de navegación, puede usar queryselector.
let navBarChildren = document.querySelector("nav[id='shop-nav']").children