En jQuery hasAttr () Motsvarande - CSS-tricks

Anonim

jQuery har egentligen ingen .hasAttr()funktion. Du kan anta att det gör det, men tyvärr gör det inte.

En StackOverflow-tråd har några ganska bra lösningar.

Hämta attributet, kontrollera värdet

var attr = $(this).attr('name'); // For some browsers, `attr` is undefined; for others, `attr` is false. Check for both. if (typeof attr !== typeof undefined && attr !== false) ( // Element has this attribute )

Native JavaScript har ett sätt

Om du bara har en jQuery-referens ...

$(this)(0).hasAttribute("name"); jQObject(0).hasAttribute("name");

Filtrera urvalet

$(this).is('(name)'); $(this).filter("(name='choice')");