2010-11-22 86 views
4

從德國我是工作,所以要耐心等待我的英語:djQuery的懸停功能並不適用於所有div的

我照顧懸停功能的jQuery的改變一些div的背景色上我的網頁。 問題不在於當我將鼠標懸停在它上面時,每個div都會發生作用。

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

我的網頁上的第一個div絕對沒問題。但是,當我將鼠標懸停在它上面時,秒分隔線沒有任何作用。出了什麼問題:D

謝謝!

回答

3

您正在使用#book分配懸停。

但是,id's應該是唯一的,jQuery將此考慮在內,所以它僅將事件處理程序應用於id book的第一個元素。

改爲使用類。

+0

太好了。工作正常!謝謝=) – Jings 2010-11-22 23:15:34

4

這是因爲你正在複製你的div的ID。根據定義,ID應該是唯一的。嘗試分配每個div的一類 '書',並像這樣結合hover

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

見規格:http://www.w3.org/TR/html4/struct/global.html#h-7.5.2

相關摘錄:

ID =[ CS]

This屬性將名稱分配給 元素。該名稱在 文檔中必須是唯一的。

0

您需要使用不同的ID(應該是頁面上唯一的)或按類來引用多個DIV。所以改變你的<DIV id='book'<DIV class='book'$('#book')$('.book')