Czy jest jakiś sposób, aby dodać HOVER na wszystkich elementach w HTML (Div, p, rozpiętość, ...) Próbuję tak:

$("*").hover(
      function () {
              $(this).addClass('hover'); ;
      },
      function () {
              $(this).removeClass('hover');
      }
    );

I CSS

#hover {
     background-color:#CC0000;
}

Ale gdzieś jest błąd ???

1
JO JOJO 11 grudzień 2011, 00:27

3 odpowiedzi

Najlepsza odpowiedź

Powinieneś używać ., a nie #, aby oznaczyć selektor klasy.

.hover {
    background-color:#CC0000;
}

Należy również pamiętać, że przy użyciu * jako selektor jQuery wybierze wszystko, w tym element ciała itp. Nie jestem pewien z kontekstu tego, czy jest to to, czego jesteś tym, czy nie.

Ponadto łatwiej byłoby użyć CSS Pseudo-Class :hover, aby zastosować styl do underowanego elementu. Oto odniesienie do tego, jak go używać: http://reference.sitepoint.com/css/pseudoclass- Hover.

6
jli 10 grudzień 2011, 20:36

Dodawasz klasę "HOVER", ale używając selektora CSS # dla IDS, użyj {x1}} zamiast #hover

4
haynar 10 grudzień 2011, 20:31

Rozwiązanie JLIS będzie działać, ale jest lepszy sposób:

Użyj klas CSS Pseudo ": Hover" zamiast tego:

*:hover {
     background-color: #CC0000;
}

Powinien pracować z najczęstszymi i rzeczywistymi przeglądarkami.

(IE 6 oznacza nie rzeczywista lub wspólna przeglądarka!)

1
ninov 10 grudzień 2011, 21:37