2011-09-12 13 views
0

liタグのhover機能のaタグのフォント色を変更しようとしています。要素内の要素を見つける方法

私は<li>要素内<a>要素を見つけます。この

$('li').mouseover(function() { 
    var a = $(this).(NEED TO FIND CORRESPONDING a TAG) 
    a.css('color', 'white'); 
}); 
+0

文書を見てください:http://api.jquery.com/category/selectors/ –

+0

[Jquery]の中でクラス内の要素を選択する方法(http://stackoverflow.com/)質問/ 4868599/how-to-select-by-class-inside-in-jquery) –

答えて

2
$(this).find('a'); 

このような何かをしようとしています。賢明なあなたは追加の関数呼び出しを回避することにより、時間を節約することができ、セレクタを使用して

$('li a').mouseover(function() { 
    var a = $(this); // this now refers to <a> 
    a.css('color', 'white'); 
}); 

さらに良いです。

親の<ul>タグで、マウスオーバーイベントに対して1つのイベントリスナーのみを使用することもできます。

$('ul').mouseover(function (e) { 
    var a = $(e.target); // e.target is the element which fired the event 
    a.css('color', 'white'); 
}); 

あなたは、単一のイベントリスナーの代わりに、各<li>要素のための1つを使用しますので、これは、リソースを節約できます。

2

試してみてください。

var a = $(this).find("a"); 
1
$('li').mouseover(function() { 
    var a = $("a", this); 
    a.css('color', 'white'); 
}); 

2番目の引数は、コンテキストを指定します。だから、あなたの親タグが

<li>であり、あなたの子タグが<div>

であるなら、あなたはこれを使って、子タグを見つけることができますli

+0

はい、この方法でうまく動作します。 ありがとう –

0

あるthisのコンテキスト内のすべてのaを検索します。

+0

はいこの方法で正常に動作します。 ありがとうございました –

+0

@カスン...働いていれば回答を受け入れてください –

1

jQuery .find()を使用して要素を見つけることができます。

関連する問題