我得到了一個表單,當點擊時「展開」(通過在單擊行後面插入一個新行),並使用css斑馬風格的行中的單元格,以及當一排懸停時單元格的「高亮」風格。獲取當前懸停的元素的非懸停css backgroundColor prop
我希望插入的行具有與點擊行相同的背景顏色。
我想使用jQuery使用單擊行中第一個單元格的backgroundColor屬性來設置插入行的單元格的backgroundColor。
然而,當我這樣做時,我得到'突出顯示'的顏色,因爲我徘徊在點擊行上 - 我想要非懸停值。
CSS:
.zebra-striped tbody tr:nth-child(odd) td {
background-color: #f9f9f9;
}
.zebra-striped tbody tr:hover td {
background-color: #f5f5f5;
}
的jQuery:
table.find('tbody').find('tr').on('click',function() {
var colourOfRow = $(this).find("td").filter(":first").css('backgroundColor');
var newRows = $('<tr><td style="background-color:'+colourOfRow+';" colspan="'+numCols+'" rowspan="2">Fetching comment...</td></tr><tr></tr>');
newRows.insertAfter($(this));
});
我敢肯定,我可以存儲顏色之前,我需要用它解決這個問題,但我的問題是:
有沒有我錯過的jQuery選擇器或其他一些衆所周知的技巧?
通過將`.zebra-striped`添加到`table` elem來完成斑馬條紋表的操作,我想避免與簡單性相混淆。你介意擴大你的答案,包括爲什麼我不應該做我想做的事嗎? – jah 2011-12-15 19:20:57
等待;你實際上並不關心顏色是什麼,對吧?顏色取決於索引是偶數還是奇數,所以只需抓住索引即可。無論如何,你將如何處理背景顏色?你不通過比較顏色數據的原因正是出於這個原因;獲取和比較元素的CSS屬性非常複雜,並且只需將預定義的狀態/樣式應用於元素就容易得多。 – Mathletics 2011-12-15 20:36:00