jQuery

[jQuery] isメソッドで:invalidを使えるようにする

More than 5 years have passed since last update.

久しぶりにjQuery触っていたら、isメソッドに:invalid擬似クラスを指定したところでSyntax Errorになった。

自家製CSS Selectorだし、いずれ先のバージョンで対応されるんだろうけど、取り急ぎ使えないと不便だったのでjQueryオブジェクトを拡張。

$.extend($.expr[':'], {

invalid: function(e, inx, match){
var invalids = document.querySelectorAll(':invalid');
var result = false;
for(var i=0; i<invalids.length; i++){
if(e === invalids[i]){
result = true;
break;
};
};
return result;
}
});

これで、自然に使えるようになる。はず。

if($(this).is(':invalid')){

alert('Validation Error!');
};