2013-07-29 272 views
2

基本上,當我將鼠標懸停在表格中的一行上時,我希望該行的背景顏色更改爲「黑色」,並且特定的單元格或td我正在盤旋以更改到'紅'。JQuery更改表格單元格和行背景顏色懸停

即,當懸停時發生兩個事件。我知道如何做到這一點,但不是兩者。

這可能使用jQuery嗎?

Thx給大家他們的貢獻,我已經複製了你們所有人。

+2

有沒有你不能只用css理由嗎? http://jsfiddle.net/4STXa/ –

+0

如果你可以給一個單元格打上顏色,那麼在同一個函數中,爲什麼不能獲得父行併爲它着色呢?像'$(this).addClas(「red」); $(this).closest(「tr」)。addClass(「black」);' – TCHdvlp

回答

3

簡單的CSS是不夠的:

tr:hover{ 
background-color:red 
} 

td:hover{ 
background-color:blue 
} 

http://jsfiddle.net/nRuXn/1/

+0

Thx是忘記了舊的CSS。那就是訣竅。 – Nuvolari

+0

經過我自己的一些經驗,我開始思考只有當有人談論「懸停」,「mouseover-mouseout」,「mouseenter-mouseleave」 – rps

1

如果行和單元格都在同一個容器中,則可以將mouseover事件附加到該容器並修改處理程序中的子級。

2

一些類添加到你想成爲紅認爲,TD(讓調用類的rdClass')和行「blkClass」:

<table> 
<tr class='rdClass'> 
<td> 
     1 
</td> 
<td class='blkClass'> 
     2 
</td> 
<td> 
     3 
</td> 
</tr> 
</table> 

$(document).ready(function() 
{ 
    $(".rdClass").mouseover(function() 
    { 
     $(this).css("background-color", "red"); 
    }); 

    $(".blkClass").mouseover(function() 
    { 
     $(this).css("background-color", "black"); 
    }); 
}); 
2

添加懸停監聽到所有的行和TD的,增加了並刪除一個類,然後使用CSS爲行和單元格對該類進行不同的樣式設置。

Working Demo

jQuery的

$('tr, td').hover(function() { 
    $(this).addClass('highlight'); 
}, function() { 
    $(this).removeClass('highlight'); 
}); 

CSS

tr.highlight { 
    background-color: red; 
} 

td.highlight { 
    background-color: black; 
} 
1
$("td").hover(function(){ 
    $(this).css("background-color", "red"); 
    $(this).parrent('tr').css("background-color", "black"); 
}); 
3
$('td').hover(function() { 
    $(this).parent().children().css("background-color", "black"); 
    $(this).css("background-color", "red") 
}); 

$('tr').mouseleave(function() { 
    $(this).children('td').css("background-color", "white");// or whatever 
}); 
相關問題