JavaScript - Wie kann ich die Hintergrundfarbe aller TDs in einem TR gleichzeitig mit Mouseover / Mouseout ändern?

8

Wenn ich mouseover ein TD in einer Reihe möchte, möchte ich, dass alle TDs gleichzeitig die Hintergrundfarbe ändern, dann kehren Sie bei mouseout um.

Wie mache ich das?

    
Warwick 03.08.2011, 12:04
quelle

11 Antworten

14

In CSS könnte man

machen %Vor%

oder nur

%Vor%

wenn die tds keine eigene Hintergrundfarbe haben.

Beide sollten die Zeile bei Mouseover schwarz und sonst weiß machen.

Sie können das natürlich auch in Javascript tun, aber das ist nicht notwendig (außer IE6, das die Pseudo-Klasse :hover in nichts außer <a> Tags versteht)

    
Flambino 03.08.2011, 12:11
quelle
5
%Vor%

Dies ändert tatsächlich die Hintergrundfarbe des Elternteils tr , nicht jedes td , aber es könnte leicht geändert werden, um dies zu tun. Sie könnten die Ereignisse auch an die tr -Elemente anhängen, anstatt an die td -Elemente, und dann müssten Sie parentNode nicht verwenden, aber ich weiß nicht, ob Sie im Ereignishandler andere Dinge tun müssen speziell bezogen auf td .

    
James Allardice 03.08.2011 12:11
quelle
5
%Vor%     
Phani CR 29.07.2015 11:43
quelle
2

Ich weiß nicht, was Ihr genauer Anwendungsfall ist, aber für solche Aufgaben würde ich nur bei CSS bleiben:

%Vor%

Ссылка

    
feeela 03.08.2011 12:12
quelle
1
%Vor%

Dies ist schneller als die Verwendung von jQuery. Außerdem verwendet nicht jeder jQuery.

    
Johan 03.08.2011 12:15
quelle
0

Dieses jsFiddle , das ich erstellt habe, zeigt Ihnen, wie Sie es mit jQuery machen.

Ich verwende jQuerys hover -Ereignis, um mit dem, was Sie versuchen, umzugehen.

    
ar3 03.08.2011 12:11
quelle
0

Wenn Sie eine Framework-agnostische Lösung möchten, können Sie dies versuchen:

%Vor%

Beispiel: Ссылка

Eigentlich wäre es nicht einfacher, Ihren Hörer nur an die Elemente <tr> und nicht an die Elemente <td> zu binden. Gibt es einen Grund, warum Sie nur auf die <td> Elemente hören möchten?

    
aroth 03.08.2011 12:11
quelle
0
%Vor%     
Vasil Nikolov 03.08.2011 12:14
quelle
0

$ (Selektor) .mouseenter (handlerIn) .mouseleave (handlerOut);

Sie können Code wie folgt verwenden:

HTML

%Vor%

Stilvorlage

%Vor%

JavaScript

%Vor%

Die .hover -Klasse kann natürlich wie gewünscht gestaltet werden.

Grüße und fröhliche Codierung!

    
Muleskinner 03.08.2011 12:09
quelle
0

In jQuery:

%Vor%

Oder in Javascript:

%Vor%     
tskuzzy 03.08.2011 12:10
quelle
-1

Wenn ich es in allen Java-Skripten gemacht habe, habe ich es so gemacht

%Vor%

Ich hoffe wirklich, dass das alles nicht verstümmelt

    
Kent Dykema 05.04.2017 23:58
quelle

Tags und Links