Estoy tratando de verificar el valor de todas las etiquetas li en una lista ul. Si algún elemento de la lista contiene el valor de "Ninguno", debe agregar un texto específico en un div. Si ninguna etiqueta li contiene el valor de "Ninguno", entonces se debe agregar un texto diferente al div.
Me sale el siguiente error en la consola:
TypeError no detectado: no se puede acceder a la propiedad "incluye", mylist.textContent no está definido
Entonces parece que no estoy usando el método .includes() correctamente.
var mydiv = document.querySelector("#mydiv"); var mylist = document.querySelectorAll("#mylist li"); var myresult = mylist.textContent.includes("None"); if (myresult == true) { mydiv.textContent = "Result is True"; } else { mydiv.textContent = "Result is False"; } My HTML: <ul id="mylist"> <li>item 1</li> <li>item 2</li> <li>None</li> <li>item 4</li> <li>item 5</li> <li>item 6</li> <li>item 7</li> </ul> <ul id="mydiv"> </ul>querySelectorAll devuelve una lista de elementos, por lo que no puede verificar textContent de un elemento en particular
Le sugiero que convierta su lista en una matriz con una operación de dispersión (para poder usar funciones de matriz) y luego use some para verificar su condición
var mydiv = document.querySelector("#mydiv"); var mylist = document.querySelectorAll("#mylist li"); var myresult = [...mylist].some(item => item.textContent.includes("None")); if (myresult === true) { mydiv.textContent = "Result is True"; } else { mydiv.textContent = "Result is False"; } <ul id="mylist"> <li>item 1</li> <li>item 2</li> <li>None</li> <li>item 4</li> <li>item 5</li> <li>item 6</li> <li>item 7</li> </ul> <ul id="mydiv"> </ul>