Member 12282576 Ответов: 1

Библиотека jQuery нажатие изменить в CSS


Привет,


Почему это работает просто отлично:
jQuery(document).bind('keydown', function (evt) {
        if (evt.keyCode == 38) {
            var element = document.getElementById("table_row_2");
            element.style.backgroundColor = "red";
        }
    });

Но это не работает:
jQuery(document).bind('keydown', function (evt) {
        if (evt.keyCode == 38) {
            var element = document.getElementById("table_row_2");
            element.css("background-color","red");
        }
    });


Что я уже пробовал:

хотя это опять же работает просто отлично:
<pre lang="text">$(document).ready(function () {
        $("tr").hover(function () {
            $(this).css("background-color", "red");
        }, function () {
            $(this).css("background-color", "red");
        });
    });


Я в замешательстве...

1 Ответов

Рейтинг:
9

Peter Leow

CSS()[^] - это метод jQuery, который работает с селекторами jQuery, так что
вместо :

element.css("background-color","red");

Вы должны превратить его в селектор jQuery:
$(element).css("background-color","red");

В вашем последнем примере $(this) относится к выбранному в данный момент объекту в событии, которое в вашем случае является "tr", над которым нависает курсор.
Узнайте больше о селекторы jQuery[^]