jQuery действительно не имеет .hasAttr()
функции. Вы можете предположить, что это так, но, увы, это не так.
У потока StackOverflow есть несколько довольно хороших решений.
Получите атрибут, проверьте значение
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 есть способ
Если у вас есть только ссылка на jQuery…
$(this)(0).hasAttribute("name"); jQObject(0).hasAttribute("name");
Отфильтровать выбор
$(this).is('(name)'); $(this).filter("(name='choice')");