jQuery セレクターを使用して取得した一連の要素に、mouseenter と mouseleave のハンドラーをバインドしたいと考えています。関数は、要素の子に対して作用する必要があります。
これが私のコードです:
$(document).ready(function(){
$(".topnav-link").bind("mouseenter mouseleave", function() {
$(this).children(".topnav").toggle();
});
});
およびhtmlの本文で:
<ul id="nav">
<li>
<a class="topnav-link" href="some-url">
<img class="topnav" src="nav-about-us.png" />
<img class="topnav hidden" src="/images/site/nav-about-us-on.png" />
</a>
</li>
<li>
<a class="topnav-link" href="some-url'}">
<img class="topnav" src="nav-products.png" />
<img class="topnav hidden" src="/images/site/nav-products-on.png" />
</a>
</li>
<li>
<a class="topnav-link" href="some-url">
<img class="topnav" src="nav-contact.png" />
<img class="topnav hidden" src="/images/site/nav-contact-on.png" />
</a>
</li>
</ul>
これは実際には Mac/Win/FF/Safari では問題なく動作しますが、IE6 および IE8 では、$(".topnav-link")
セレクターによって取得された最初の要素のみが目的の動作を表示します。
私が欠けているものについて助けてくれてありがとう!