たとえば、

divのなかにaタグがあるときだけ、divをマウスオーバーしたときに
背景が変わるようにする、とか

そういうときに使えるのがhas()メソッド

たとえば、divをマウスオーバーできるようにするには、
こんな感じになるよね。

$('.box').hover(
function(){
$(this).css({'background-color' : '#ddd'});
}, function(){
$(this).css({'background-color' : '#fff'});
}
);

<div class="box">
をマウスオーバーしたときに背景色をddd(グレー)にして、
マウスをはずしたら、fff(白)にする。

これを、has()を使うと、こうなる


$('.box').has('a').hover(
function(){
$(this).css({'background-color' : '#ddd'});
}, function(){
$(this).css({'background-color' : '#fff'});
}
); 
 
has('a')が入ったことによって、
全部の<div class="box">をマウスオーバーできるようにするんじゃなくて、
divの中に aタグがあった場合だけマウスオーバーできるようになる。


これはいろいろなところで大活躍しそう。

ちなみに、検索してたときは、
「jQuery if has」とかで探してた。条件分岐かなと思ってたから、
でもhasだけでいいんだな。

ちなみにjQuery1.4以降のメソッドだそうです