¿Cómo puedo añadir una clase a un elemento determinado?
Tengo un elemento que ya tiene una clase:
<div class="someclass">
<img ... id="imagen1" name="imagen1" />
</div>
Ahora quiero crear una función JavaScript que añada una clase al div
(no reemplazar, sino añadir).
¿Cómo puedo hacerlo?
1101
3
Añade un espacio más el nombre de tu nueva clase a la propiedad
className
del elemento. Primero, pon unid
en el elemento para que puedas obtener fácilmente una referencia.Entonces
Tenga en cuenta el espacio antes de
otherclass
. Es importante incluir el espacio, de lo contrario compromete las clases existentes que vienen antes de ella en la lista de clases.Véase también element.className en MDN.
encontrar su elemento de destino "d" como quiera y luego:
puedes envolver eso en formas más inteligentes para comprobar la preexistencia, y comprobar los requisitos de espacio, etc.
Asumiendo que está haciendo algo más que añadir esta clase (por ejemplo, tiene peticiones asíncronas y demás), yo recomendaría una librería como Prototype o jQuery.
Esto hará que casi todo lo que necesite hacer (incluyendo esto) sea muy simple.
Así que digamos que tiene jQuery en su página ahora, podría usar código como este para añadir un nombre de clase a un elemento (en la carga, en este caso):
Consulta el navegador de la API de jQuery para otras cosas.