Estoy haciendo un proyecto, cuando haces clic en una división, el color de fondo cambia a negro y aparece un texto. Este texto es de Javascript porque tengo 98 divs así, por lo que lo está haciendo para cada div con una función. Pero me preguntaba si podemos hacer una clase CSS para este texto sin HTML. Aquí está mi código para que puedas entender:
function x1(e) { var target = e.target, count = +target.dataset.count; target.style.backgroundColor = count === 1 ? "#707070" : 'black'; target.dataset.count = count === 1 ? 0 : 1; target.innerHTML = count === 1 ? '' : 'réserver'; }Quiero agregar un estilo de fuente, un tamaño de fuente, cambiar el color y cambiar la posición del texto. ¿Puedo hacerlo en el javascript? para todos mis divs? Gracias chicos, espero que entiendan porque mi inglés a veces no es muy bueno. Que tengas un buen día, Cordialmente, Zartex.
element.classList.add("mystyle")
Javascript tiene la función classList() para este propósito. Aquí puede adjuntar funciones como:
obj.classList.remove('className'); obj.classList.add('className'); obj.classList.toggle('className'); Básicamente, son un contenedor para la función getAttribute() . Para entender lo que hay debajo del capó, pequeño ejemplo:
excursión corta
const d = document.querySelector('div'); // fetch current classes const classes = d.getAttribute('class'); // set current classes and new class d.setAttribute('class', classes + " hotpink"); div { height:80px; } .green { background: green; } .hotpink { background: hotpink; } .box { width: 50% } <div class="green box">Current class is green & box but it will overwritten by hotpink which is added</div>Como la respuesta anterior (de abhishek sahu ) sugiere que puede usar:
target.classList.add('yourClass');Pero, supongo que es su caso, si desea agregar y eliminar la clase en cada clic (por ejemplo, desea hacer clic una vez y agregar la clase y, cuando haga clic nuevamente, eliminarla del mismo elemento) puede usar:
target.classList.toggle('yourClass'); El método de toggle agrega una clase en un elemento si aún no lo tiene, si es así, elimina esa clase