a: besuchte img {display: keine; } [Duplizieren]

8

Mein HTML-Code sieht so aus:

%Vor%

Das Bild innerhalb des ersten Links muss nur angezeigt werden, wenn der Link noch nicht besucht wurde. Wenn der Link besucht wird, mache ich eine Anzeige: none;

%Vor%

Ссылка

Aber das Bild wird weiterhin angezeigt. Die Testgrenze ist rot. Wenn ich wechsle: besucht zu: hover es macht die Anzeige wie es soll (: hover und es ist weg). Firebus sagt mir, dass das Bild 'display: none' ist, aber anscheinend ist es nicht ...

Kennt jemand dieses Problem und kennt eine mögliche Lösung?

    
lastria 19.11.2013, 14:21
quelle

2 Antworten

11

Laut der Dokumentation von Mozilla :

  

Aus Datenschutzgründen beschränken Browser die Stile, die Sie anwenden können, streng   Verwenden eines von dieser Pseudoklasse ausgewählten Elements: Nur Farbe,   Hintergrundfarbe, Umrandungsfarbe, Umrandungsfarbe,   border-left-color, border-right-color, border-top-color,   Umrissfarbe, Spaltenregelfarbe, Füllung und Strich. Beachten Sie auch, dass die   Alpha - Komponente wird ignoriert: die Alpha - Komponente der   Nicht besuchte Regel wird stattdessen verwendet (außer wenn die Deckkraft 0 ist, in   In diesem Fall wird die ganze Farbe ignoriert, und die der nicht besuchten   Regel wird verwendet.

     

Obwohl die Farbe geändert werden kann, wird die Methode getComputedStyle liegen   und gebe immer den Wert der nicht besuchten Farbe zurück.

Sie können also den display -Wert nicht ändern. Sie können hier sehen, wie Sie mit einem anderen Property als border-color arbeiten.

Sie müssen einen anderen Ansatz als JavaScript + LocalStorage (meist unterstützt ) verwenden.

Eine ungefähr Lösung könnte sein, mit jQuery:

%Vor%

Eine Demo hier .

    
Jonathan Naguin 19.11.2013, 14:32
quelle
0

Beacus von :visited gespeichert in Browsern, so Sie können Cookie für jedes <a> festlegen, auf das durch JavaScript geklickt wurde, und das <img drinnen ausblenden.

    
mehdi 19.11.2013 14:58
quelle

Tags und Links