Tengo un problema al agregar Child a clases completas en mi documento cuyo nombre de clase es "onbackorder". Aquí está mi código:
<script> var first = document.createElement("p"); var text = document.createTextNode("On backorder"); first.appendChild(text); var isRequestQuote = document.getElementsByClassName('onbackorder'); if (isRequestQuote.length > 0) { document.querySelector(".onbackorder").appendChild(first); } </script>Para este momento la función pone selector al azar. ¿Cómo puedo obtener el mismo selector en todo el documento donde la clase es "en espera".
Gracias
Hay 2 puntos:
document.querySelector(".onbackorder") es solo devolver el primer artículo. Entonces necesita usar document.querySelectorAll('.onbackorder') .El método de documento querySelector() devuelve el primer elemento dentro del documento que coincide con el selector o grupo de selectores especificado. Si no se encuentran coincidencias, se devuelve nulo.
https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
var first = document.createElement("p"); debe crear múltiples variables de referencia para agregar a cada artículo en onbackorder . Porque no puede crear solo uno y agregar varios elementos.Así que modifiqué tu código y lo hice funcionar. Puedes comprobarlo a continuación:
var first = document.createElement("p"); var text = document.createTextNode("On backorder"); first.appendChild(text); const allBackOrders = document.querySelectorAll('.onbackorder'); allBackOrders.forEach((item) => { var newItem = first.cloneNode(true); item.appendChild(newItem); }); <div class="onbackorder"></div> <div class="onbackorder"></div> <div class="onbackorder"></div>