Autor Zpráva
Manny
Profil *
Ahoj, řeším problém, jak obarvit celý řádek tabulky. Napsal jsem si funkci, ta ale bohužel obarví vždy jen jednu buňku, ne všechny v jednom řádku, jak jsem si myslel...
  $(function() {
      $('tr.parent td').hover(function () {
        $(this).css({'background-color' : 'yellow'});
      }, function(){
        $(this).css({'background-color' : 'white'});
      });
  }) 

Nevěděli byste pls, jak na to? Díky ;)
Nox
Profil
u obou
$(this).parent().

zbytek stejný

protože událost je navázaná na buňku, tudíž je v $(this) opět jen buňka
Manny
Profil *
Nox:
tak jsem to zkusil podle rady takto:
  $(function() {

        $('tr.parent td').hover(function () {
        $(this).parent().css({'background-color' : 'yellow'});
      }, function(){
        $(this).parent().css({'background-color' : 'white'});
      });
  }) 


ale pořád nejde - nezobrazí se mi ani podbabrvení buňky
Nox
Profil
asi na řádek nejde ta css vlastnost, zkus
$(this).parent().children("td").
Manny
Profil *
Nox:
skvělé, díky - jde to, ale abych pravdu řekl, moc tomu nerozumím

A ještě bych se chtěl zeptat na jednu věc - dalo by se přes události jQuery nějak udělat, aby když kliknu na řádek tabulky, aby se mi nějak zvýraznil (nějaký ekvivalent k :active) ?
Když u tohoto kodu zaměním .hover za .click, tak dostanu efekt, jaký chci:
  $(function() {
      $('tr.parent td').hover(function () {
        $(this).parent().children("td").css({'background-color' : 'yellow'});
      }, function(){
        $(this).parent().children("td").css({'background-color' : 'inherit'});
      });
  })  


Ale když chci tyto efekty oba - čili po najetí myši na řádek chci, aby se mi provedl hover efekt a po kliknutí na řádek chci, aby se mi řádek podbarvil, tak to podbarvení řádku při kliknutí na něj nefunguje :/
Zkouším takto:
  $(function() {
      $('tr.parent td').hover(function () {
        $(this).parent().children("td").css({'background-color' : 'yellow'});
      }, function(){
        $(this).parent().children("td").css({'background-color' : 'inherit'});
      });
      
      $('tr.parent td').click(function () {
        $(this).parent().children("td").css({'background-color' : 'yellow'});
      }, function(){
        $(this).parent().children("td").css({'background-color' : 'inherit'});
      });
  })  
Nox
Profil
click má jen 1 argument, přepínání se asi bude muset udělat ifem, teď mě nenapadá zjednodušení přes nějaké toggle

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: