Element.hasAttribute()

El método Elemento.hasAttribute() devuelve un valor Booleano indicando si el elemento tiene el atributo especificado o no.

Sintaxis

var resultado = elemento.hasAttribute(nombre);
resultado
contendrá el valor devuelto (truefalse).
nombre
consiste en una cadena de caracteres que representa el nombre del atributo a chequear.

Ejemplo

var foo = document.getElementById("foo");
if (foo.hasAttribute("bar")) {
    // hacer algo
}

Polyfill

;(function(prototype) {
    prototype.hasAttribute = prototype.hasAttribute || function(name) {
        return !!(this.attributes[name] &&
                  this.attributes[name].specified);
    }
})(Element.prototype);

Notas

Métodos DOM que tratan con atributos de elementos:

Not namespace-aware, most commonly used methods Namespace-aware variants (DOM Level 2) DOM Level 1 methods for dealing with Attr nodes directly (seldom used) DOM Level 2 namespace-aware methods for dealing with Attr nodes directly (seldom used)
setAttribute (DOM 1) setAttributeNS setAttributeNode (en-US) setAttributeNodeNS (en-US)
getAttribute (DOM 1) getAttributeNS (en-US) getAttributeNode (en-US) getAttributeNodeNS
hasAttribute (DOM 2) hasAttributeNS (en-US) - -
removeAttribute (DOM 1) removeAttributeNS (en-US) removeAttributeNode (en-US) -

Especificaciones

Compatibilidad de navegadores

BCD tables only load in the browser