Добавить цвет фона и границы для строки таблицы при наведении курсора с помощью jquery
Кто-нибудь знает способ добавить границу к строке таблицы с другим цветом фона, когда мышь наводится на строку?
Я смог изменить цвет фона строки с этим:
$(document).ready(function() {
$(function() {
$('.actionRow').hover(function() {
$(this).css('background-color', '#FFFF99');
},
function() {
$(this).css('background-color', '#FFFFFF');
});
});
});
Но я не могу добавить цвет границы. Я понимаю, что границы нельзя напрямую применить к тегу строки таблицы, но я надеюсь, что кто-то знает магию jQuery voodoo, которая может найти ячейки таблицы в выбранной строке и применить некоторые стили к ним для создания границы.
Спасибо!
4 ответа
$(function() {
$('tr').hover(function() {
$(this).css('background-color', '#FFFF99');
$(this).contents('td').css({'border': '1px solid red', 'border-left': 'none', 'border-right': 'none'});
$(this).contents('td:first').css('border-left', '1px solid red');
$(this).contents('td:last').css('border-right', '1px solid red');
},
function() {
$(this).css('background-color', '#FFFFFF');
$(this).contents('td').css('border', 'none');
});
});
Лучше всего будет добавить класс и удалить класс в строке. Тогда в вашей таблице стилей:
.actionRow-hovered td { border-color: whatever; }
Таким образом, вы на самом деле будете манипулировать каждым из цветов границы тд. Боль, но работает достаточно хорошо, когда вы освоитесь.
$('table.tblMenuTabls tr').hover(function(){
$(this).toggleClass('tblOverRow');
},function(){
$(this).toggleClass('tblOverRow')}
).css({cursor: 'hand'});
куда tblMenuTabls
это имя класса таблицы и tblOverRow
класс CSS с определением при наведении
Может быть, это хорошая отправная точка:
http://www.devcurry.com/2009/02/change-table-border-color-on-hover_27.html