Demogracia Bits

• • • Colección privada de recortes de código y documentación para programación web

[Sí, aún estamos en pruebas; ¿por?]

Clases CSS

Al césar lo que es del César. Si Dean Edwards ya ha escrito unas funciones perfectas para gestionar clases CSS, ¿por qué modificar una sola coma?

/*
 * Añade/Quita/Busca clases CSS - http://dean.edwards.name/IE7/caveats/
 */

function addClass(element, className) { // v2004-10-24
    if (!hasClass(element, className)) {
        if (element.className) element.className += " " + className;
        else element.className = className;
    }
};
function removeClass(element, className) { // v2004-10-24
    var regexp = new RegExp("(^|\\s)" + className + "(\\s|$)");
    element.className = element.className.replace(regexp, "$2");
};
function hasClass(element, className) { // v2004-10-24
    var regexp = new RegExp("(^|\\s)" + className + "(\\s|$)");
    return regexp.test(element.className);
};

(Aunque tenga el servidor en la cocina es un eminencia en el campo del JavaScript, háganme caso).

My tailor is rich

Pensando en los lectores menos duchos en idiomas, aquí va una explicación adicional:

addClass(objeto, nombreClase)
Agrega el nombre de clase al objeto dado (respetando las clases que ya tuviera).
removeClass(objeto, nombreClase)
Elimina el nombre de clase del objeto dado (respetando las otras clases que ya tuviera).
hasClass(objeto, nombreClase)
Devuelve true si el objeto posee la clase indicada, false si no.

Esta página ha sido impresa el domingo 6 de julio de 2008 (22:54:23 +0200) desde http://bits.demogracia.com/recortes/javascript/clases-css.html, contenía HTML válido con CSS fresquito la última vez que lo miré y no debería tener flatas de ortografía.

Demogracia Bits no tiene absolutamente ninguna relación con Demogracia, salvo el nombre, el dominio punto com y que el autor es el mismo.

© 2005-2008 by Álvaro G. Vicario (alvaro.es) ¤ Burgos (España) ¤ http://bits.demogracia.com/