2011-12-10 13 views
1

所有元素有沒有辦法在HTML(DIV,P,跨度,一......)我想這樣的添加上的所有元素懸停:犬在HTML

$("*").hover(
     function() { 
       $(this).addClass('hover'); ; 
     }, 
     function() { 
       $(this).removeClass('hover'); 
     } 
    ); 

和CSS

#hover { 
    background-color:#CC0000; 
} 

但是某處出現錯誤?

+1

爲什麼這樣做的JavaScript?難道你不能僅僅使用僞類':hover'並且完全用CSS來完成這個工作嗎?我們需要查看相關的HTML以及您希望使用哪些元素來更具體地提供建議。實際上希望頁面中的所有元素(包括body和所有容器)具有相同的行爲,這很可能看起來很奇怪,並且可能不會做你想做的事情。 – jfriend00

+1

'*:hover {background-color:#CC0000; }'會更簡單,更高效。 – Quentin

+0

我currenly建立一個應用程序誰將得到從HTML代碼的xpath位置,但現在我想當用戶懸停元素更改背景知道什麼元素選擇。 –

回答

6

您應該使用.而不是#來表示類選擇器。

.hover { 
    background-color:#CC0000; 
} 

另外,還要注意使用*作爲一個jQuery選擇將選擇一切,包括身體因素等,我不知道從問題的背景下,這是否是你以後還是不行。

此外,僅使用CSS僞類:hover將樣式應用於懸停元素會更容易。下面是如何使用它的引用:http://reference.sitepoint.com/css/pseudoclass-hover

+0

$(「div,span,p,a,li」)。懸停......這是正確的方式嗎? –

+0

是的,這將工作。只需用逗號添加其他任何元素即可。 – jli

4

您添加類「盤旋」,但使用CSS #選擇了IDS,使用.hover代替#hover

1

jlis解決方案的工作,但有一個更好的方法:

使用的CSS類僞 「:徘徊」,而不是:

*:hover { 
    background-color: #CC0000; 
} 

應與最常見的和實際的瀏覽器。

(IE 6是實際的或常見的瀏覽器!)

+0

嗯是的,我同意,我已經包含在我的答案:P – jli