Estoy tratando de obtener todas las clases de un elemento y luego agregarlas a otro elemento creado dinámicamente. Originalmente estaba atascado en cómo hacer esto, pero mientras escribía esta pregunta, encontré una solución. Sin embargo, parece un poco detallado. ¿Hay alguna manera de hacer lo mismo de manera más eficiente, es decir, con menos líneas de código?
let classes = this.nextElementSibling.classList; // get classes from target element classes += ''; // convert classlist object to string let class_array = classes.split(' '); // convert string to array const my_div = document.createElement('div'); // create a new div for(i=0; i<class_array.length; i++) { // loop through array and add classes to the div my_div.classList.add(class_array[i]); }Gracias por adelantado.
El className le dará una cadena de nombres de clase separados por espacios que tiene un elemento. Solo usa eso.
const my_div = document.createElement('div'); my_div.className = this.nextElementSibling.className;