Я не очень хороший jQuery, но я пытаюсь выяснить способ выделения строки в таблице, над которой моя мышь закончилась (скажем, зеленый). На странице есть только одна таблица. Я нашел jQuery, чтобы это произошло
$("tr").filter(function () {
return $('td', this).length && !$('table', this).length
}).css({
background: "ffffff"
}).hover(function () {
$(this).css({
background: "#C1DAD7"
});},function () {
$(this).css({
background: "#ffffff"
});
});
но мне нужно идти дальше. если я нажимаю на строку, я хочу, чтобы эта строка была подсвечена другим цветом (красным), затем наведите курсор, а также оставайтесь красным, если не нажать на другую строку. Таким образом, наведение подчеркивает строку, если она не была нажата. После того, как была нажата строка, наведение все еще работает, только не на щелкнутой строке, а щелкнутая строка остается красной, если не щелкнуть другую строку. Есть ли способ сделать это.
Я знаю, что цвет выше не соответствует красным или зеленым
Если бы я был вами, я бы использовал классы вместо прямого стиля:
JS
$("tr").filter(function () {
return $('td', this).length && !$('table', this).length
}).hover(function(){
$(this).toggleClass('hover');
}).click(function(){
$('.clicked').removeClass('clicked');
$(this).toggleClass('clicked');
})
CSS
.hover{
background : #C1DAD7;
}
.clicked{
background : #f00;
}
Сценарий: http://jsfiddle.net/9wgGQ/
$(selector).method1().method2()...
метод с 1 стеком: $(selector).method1().method2()...
Что касается вашего второго вопроса, вы можете выбрать первый tr в стеке и смоделировать щелчок с помощью .trigger
: .click(code already here).first().trigger('click')
Смотрите эту скрипту: http://jsfiddle.net/jFIT/88r7p/
$("table tr").hover(
function () { $(this).css({ background: "#C1DAD7" }); },
function () { $(this).css({ background: "whitesmoke" }); }
).click(function() {
$('table tr.selected').removeClass('selected');
$(this).addClass('selected');
});
$('tr').click(function(){
$(this).parent().find('tr').css({background:'none'});
$(this).css({ background: '#FF0000'});
});
Используйте это для фона DEMO