這裏有一個fiddle描述的情況
我有有懸停帶有邊框亮細胞的表:如何使用jQuery禁用CSS規則?
table td:hover {
border: 2px solid #3d8b40;
}
當按下其中的一個,我想讓它有一個永久邊界如上所述,當它處於活動狀態(直到下一次單擊)時,我想禁用其他單元格上的光照。
這個問題似乎有一個簡單的解決方案給所有細胞的一類,以防止激活過程中的邊界:
.no-border:not(.active):hover {
border: inherit !important;
}
但是有很多細胞的,我怕切換這麼多班一旦可能影響性能。
後來我也嘗試過這種做法:
$('td').click(function() {
if ($(this).hasClass('active')) {
$('table td:hover').css('border', 'inherit');
}
else {
$('table td:hover').css('border', '2px solid #3d8b40');
}
}
它的問題是,:hover
選擇只管一個細胞 - 我是在指向一個,我無法弄清楚如何將這些規則傳到他們全部。這基本上意味着將內聯樣式添加到HTML元素,這在考慮性能時並不比添加類更好。
我該如何解決我的問題?
一類可能添加到容器元素,而不是對每一個細胞? – gyre
用內聯css覆蓋它重要的是一個選項? '$('table td')。attr('style',':hover {「border」:「inherit!important」}')' – TypedSource