@up:
Prawdopodobnie też chciałbyś jakoś pokazać użytkownikowi, że wiersz jest zaznaczony. Więc przed lub po tej linii:
zaznaczonyWiersz = this;
można dodać kod dodający do aktualnego wiersza np. jakąś klasę, dzięki czemu w CSS można dać jej jakieś wyróżnienie. Wcześniej, w obsłudze kliknięcia trzeba jednak zlikwidować zaznaczenie z poprzednio wybranego wiersza, bo przecież użytkownik może kliknąć sobie najpierw w pierwszy, a potem uznać, że nowy wiersz chce jednak umieścić niżej i kliknąć w drugi. Wtedy z tego pierwszego wiersza należy usunąć zaznaczenie. Można to zrobić jakoś tak (rozszerzam kod kubARka):
$("#tabelka tr").click(function()
{
if (zaznaczonyWiersz) { // jeśli wcześniej był zaznaczony inny wiersz...
$(zaznaczonyWiersz).removeClass('zaznaczony'); // zlikwiduj zaznaczenie
}
// już wiemy, który wiersz został kliknięty, przypisz go do zmiennej
zaznaczonyWiersz = this;
$(this).addClass('zaznaczony');
});
Dodam jeszcze, że taki zapis w kodzie jest w tym wypadku trochę nieelegancki, mylący i narażony na potencjalne błędy:
if (zaznaczonyWiersz != null)
Operatory == i != są w JavaScripcie pokraczne, dokonują konwersji typów. Zalecane jest użycie ich silnych odpowiedników (=== i !==), szczególnie gdy porównuje się wartości fałszywe. W tym wypadku użycie operatora !== ujawni błąd: zmienna zaznaczonyWiersz nie jest nigdzie w kodzie ustawiana na null. Na początku ma ona wartość undefined:
var zaznaczonyWiersz;
Więc bez sensu jest potem porównywać ją do null (mimo że dzięki pokraczności operatora == w tym wypadku to jednak zadziała). Polecam w ogóle zrezygnować z porównywania do jakiejkolwiek wartości i użyć po prostu warunku:
if (zaznaczonyWiersz)
Zwięźlej, przejrzyściej (IMO) i nie wprowadza w błąd, że zaznaczonyWiersz może zawierać wartość null, gdy w rzeczywistości zawiera undefined. W JavaScripcie są to różne wartości i operatory === i !== to wykrywają, ale ich pokraczne wersje (== i !=) już nie, mimo że czasem -- w niemożliwych do zapamiętania sytuacjach -- bywają na to wrażliwe.