2010-11-22 4 views
4

では動作しません。私はドイツから来ましたので、私の英語の患者も:DjQueryのホバー機能は、すべてのdivの

私は自分のページにいくつかのdivの背景色を変更するjQueryのでホバー機能の世話をします。 問題は、私が上に乗るとき、すべてのdivの行為ではありません。

$(document).ready(function(){ 
    $('#book').hover(function(){ 
    $(this).css('background', '#dfdfdf'); 
    }, function(){ 
    $(this).css('background', '#eee'); 
    }); 
}); 

私のページの最初のdivは絶対大丈夫です。しかし、秒divは何もしません。何がうまくいかない:D

ありがとう!

答えて

3

にご<DIV class='book'から<DIV id='book'$('#book')を変更。

しかし、idは一意であると考えられ、jQueryはこれを考慮しているため、idハンドブックの最初の要素にのみイベントハンドラを適用します。

代わりにクラスを使用してください。

+0

正常に動作します!ありがとう=) – Jings

4

これは、divのIDを複製しているためです。定義上、IDは一意であると考えられます。それぞれが '書籍' のクラスをDIV割り当てるので、同じようhoverを結合してみてください。[

ID =http://www.w3.org/TR/html4/struct/global.html#h-7.5.2

関連抜粋:

$('.book').hover(function(){... 

は、仕様を参照してください。 CS]

これは属性は 要素に名前を割り当てます。この名前は 文書で一意である必要があります。

0

異なるID(ページ上で一意であるはずです)またはクラスによって複数のDIVを参照する必要があります。ですから、ホバーを割り当てること#bookを使用している$('.book')

関連する問題