我得到了一个表单,当点击时“展开”(通过在单击行后面插入一个新行),并使用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