2012-09-04 55 views
3

我有本期:我通過CSS定義當前角色的div元素使用:之前通過jQuery

.divElement:before { 
    background-image: url(../images/triangle.png); 
    background-repeat: no-repeat; 
    content: ""; 
    height: 20px; 
    left: 62%; 
    margin: 0 0 0 -50px; 
    position: absolute; 
    top: -20px; 
    width: 100px; 
} 

.divElement{ 
    background: none repeat scroll 0 0 #FFF8D6; 
    border-radius: 10px 10px 10px 10px; 
    color: black; 
    font: 1em/1.4 Cambria,Georgia,sans-serif; 
    margin: 0px 500px 3em;  
    padding: 15px; 
    position: relative; 
    text-align: center; 
} 

我創造了這個元素動態使用jQuery:$('<div class="divElement"><p><strong></strong></p></div>').appendTo(....)這正常工作。使用jQuery時,問題就變成了,我嘗試動態改變backgroung-imagedivElement之前的內容(這是我在CSS定義與:before

我想是這樣的background-imagetop屬性,但不工作:

$('.divElement:before').css('background-image', 'url(../images/triangle_reverse.png)'); 

我該怎麼做?謝謝大家!

回答

0

我覺得你最好的解決辦法是保持在CSS樣式爲這一個(as in this answer)和簡單的使用功能addClass jQuery中。這裏有一個例子:

.divElement:before { 
    background-image: url(../images/triangle.png); 
} 

.divElement.reverse:before { 
    background-image: url(../images/triangle_reverse.png); 
} 

然後在jQuery的,所有你需要的是添加類reverse這樣的:

$('.divElement').toggleClass("reverse"); 

$('.divElement').addClass("reverse"); 

,你甚至可以輕鬆地之間,並且是使用切換關閉狀態

+0

thankssss..this work incorrectyyyyy !!!!! – user1645419

+0

很酷,很高興提供幫助;) –

+0

請注意:僞類選擇器在IE 8之前的IE版本中不起作用。 – Remo

1

以下將搜索類別爲.divElement的所有節點,取出在之前出現的相應元素並更改它們的背景圖像。那是你想要完成的嗎?

$('.divElement').prev().css('background-image', 'url(../images/triangle_reverse.png)'); 
+0

感謝您的即時回覆,是的,我嘗試更改出現在...之前的元素的背景圖像和頂級屬性...但仍然不起作用... – user1645419