2011-04-28 81 views
24

可能重複:
Manipulating CSS pseudo-elements using JQuery目標:before和:after僞元素與jQuery

在頁面加載我想:前:一類元素後出現。我設置了.lifted:before和.lifted:之後是不透明度:0在CSS中。在準備好的文檔中,我有:

$(".lifted:before").css("opacity", "1"); 
$(".lifted:after").css("opacity", "1"); 

這不起作用。並且.jQuery操縱器只能用於插入內容,據我所知。

有沒有什麼辦法可以使用jQuery來操縱這些僞元素的CSS?

+0

http://docs.jquery.com/DOM/Traversing/Selectors#Not_supported < - 這裏的文檔< - 你不能 – austinbv 2011-04-29 05:12:56

回答

23

決定與解決方案的負載添加到類的元素,然後在CSS中操縱它。

$(".lifted").addClass("on"); 

CSS

.lifted.on:before, 
.lifted.on:after { 
       opacity: 1; 
    -webkit-transition: opacity 1200ms cubic-bezier(0.25, 0.1, 0.25, 1); 
     -o-transition: opacity 1200ms cubic-bezier(0.25, 0.1, 0.25, 1); 
      transition: opacity 1200ms cubic-bezier(0.25, 0.1, 0.25, 1); 
     -moz-transition: none /* Removed until FF4 hang bug is fixed */ 
+2

+1一個優雅的解決方案。添加一個類而不是努力選擇一個半成熟的元素是非常好的。謝謝。 – turzifer 2013-10-23 13:09:04

+13

但是這並沒有解決使用jQuery操縱'before'內容的問題。 – Kokodoko 2014-11-28 14:26:16

相關問題