2011-12-24 8 views
0

私はここで非常にばかげていると思うが、ここに行く。jQueryを使用してホバリングセレクターを取得

私は基本的なstructueとメニューを持っている:私が何をしようとしています何

<ul id="menu"> 
<li> 
<h3><a href="/products/">Products</a></h3> 
<span><a href="/products/">Have a look</a></span> 
</li> 
</ul> 

ユーザーが<li>白に<span>のテキストを変更の上に置いたときに、です。これは私が持っているものです:

$('ul#menu li').mouseenter(function(){ 
    $(this+ 'span a').css('color','white'); 
}); 

しかし、それは動作しませんか?私はそれがオブジェクトだと思うし、文字列がほしいと思う?

+0

で例の作業

#menu > li:hover > span a { color: white; } 

は本当に '使用しない理由理由はありますか? – Yogu

答えて

2

JSを使用する理由は何ですか?純粋なCSSのセレクタhover`:http://jsfiddle.net/alnitak/fZwJ7/

+0

パーフェクト。ありがとうございました。 didntはCSSを使用すると思います – rwb

+0

@ライアン私は間違いなくCSSがこれに行く方法だと思っていますが、[これを念頭に置いて](http://reference.sitepoint.com/css/pseudoclass-hover)で裸にしてください古いバージョンのIE(<8)を使用しています – isNaN1247

0
$('ul#menu li').mouseover(function(){ 
    $(this).find('span a').css('color','white'); 
}); 
0

この問題は、JavaScriptではなくCSSによって最もよく解決されます。

ul#menu li:hover span a { 
    color: white; 
} 
0

あなたは、このための基本的なCSSを使用する必要があります:あなたは、あなたの#menuをoverqualifyingている

#menu li span{ 
    color : #000000; 
} 

#menu li:hover span{ 
    color : #ffffff; 
} 
+0

セレクタに 'a'を含める必要があると思います。そうしないと、リンクはデフォルトの色を保持します。 – Alnitak

0

ので、この代わりにしてみてください:あなたはまた、CSSでこれを行うことができます

$('#menu li').hover(function() { 
    $(this).find('span > a').css({'color' : 'white'}); 
}); 

注意をただし、:hover疑似セレクタは、a以外ではnot properly supported in older versions of Internet Explorerです。

+0

MSIE再び救助に! (NOT) – Alnitak