2013-01-04 34 views
0

我想用一些JavaScript div/classes來匹配JQuery CSS調用(修改CSS以便我可以使用變量)。我不能使用「id」,因爲循環中有很多這樣的實例。編輯:它仍然不工作,我懷疑我需要更多的細節在這裏。在CSS/Javascript/JQuery中匹配類和選擇器

相關片的CSS(還有其他的變換線路,這裏沒有顯示):

.thermometer .circle { 
    position: absolute; 
    ... 

.pie { 
    position: absolute; 
    ... 
} 

.hold { 
    position: absolute; 
    ... 
    clip: rect(0px, 26px, 26px, 13px); 
} 

.pieSlice1 .pie { 
    background-color: white; 
    -webkit-transform:rotate(60deg); 
    transform:rotate(60deg); 
} 

在JST EJS文件:

<div class="thermometer"> 
    <div class="circle <%= this.presenter.newColor(nutrient) %>"> 
    <div class="pieSlice1 hold"> 
     <div class="pie"></div> 
     <% $(".pieSlice1.hold .pie").css({'-webkit-transform': 'rot 
ate(22deg)'}); %> 

我已經刪除之間「的空間pieSlice1「和」hold「,但是我需要其他任何類來匹配嗎?

回答

1

如果你想要一個路口之間的任何空間,只寫了選擇在一起,中間沒有空格。

$(".pieSlice1.hold .pie").css({'-webkit-transform': 'rot 
ate(22deg)'}); 

當我們有空間,它看起來對後代......

另一種選擇是:

$(".pieSlice1").filter(".hold .pie").css({'-webkit-transform': 'rot 
ate(22deg)'}); 
+0

請快速瀏覽一下。我懷疑我還沒有完全在那裏。 – sploiber

+0

這應該工作..如果沒有,請嘗試'.thermometer .pieSlice1.hold .pie' – Anujith

2

它應該是:

.pieSlice1.hold .pie 

沒有.pieSlice1.hold

+0

謝謝@keune。請看看你是否有機會 - 我增加了一點。我懷疑它不是很正確。 – sploiber

+0

您嘗試添加的選擇器語法和css屬性是正確的。如果不工作,應該有其他問題。 – keune

+0

謝謝。我不知道如何找到其他問題。我懷疑我需要了解更多關於javascript調試的信息,以便找出爲什麼沒有發生匹配。感謝你的幫助。 – sploiber

0

由於.pieSlice1.hold是在相同的元素這兩個類,需要鏈他們:

.pieSlice1.hold .pie 

請注意之間沒有空格和.hold - 這意味着它將一個元件與類.pie其是具有兩個.pieSlice1.hold類的元素的後代匹配。

而你現在有什麼...

.pieSlice1 .hold .pie 

這將一個元素與類.pie這與類.hold元素的後代,這本身的後代匹配元素與類.pieSlice1

+0

#daGUY,非常感謝。請再看看編輯 - 我懷疑我還是不太對。 – sploiber