jQuery realmente não tem uma .hasAttr()
função. Você pode supor que sim, mas, infelizmente, não.
Um thread StackOverflow tem algumas soluções muito boas.
Obtenha o atributo, verifique o valor
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 )
JavaScript nativo tem um jeito
Se você só tem uma referência jQuery ...
$(this)(0).hasAttribute("name"); jQObject(0).hasAttribute("name");
Filtre a seleção
$(this).is('(name)'); $(this).filter("(name='choice')");