2015-10-10 48 views
0

我想實現的效果: 所有不透明度爲0.01的孩子的不透明度值都會增加1。樣式具有特定計算的css屬性值的元素數組

問題:正如你可以看到,這是我得到。我無法弄清楚如何告訴js根據計算出的值選擇所有這些子元素,併爲它們添加一些樣式。我穿過他們,得到他們的指數,以及他們的計算值,但這是我現在卡住的地方。

HTML:

<div id='a'> 
    <span>How</span> 
    <span>are</span> 
    <span>you?</span> 
</div> 

JS:

var elem = document.getElementById('a'); 
for (i = 0; i < 10; i++) { 
    var x = window.getComputedStyle(elem.children[i], null).getPropertyValue('opacity'); 
    parseFloat(x)[i] 
} 

問題:如何添加一些風格有一個屬性的具體計算值元素的數組?

+1

這是爲什麼downvoted? – Asperger

+0

可能是由於沒有可重複的代碼/ html – mplungjan

+0

@mplungjan我知道,但那個人可能告訴我。它非常粗魯。好吧,我會添加更多的代碼 – Asperger

回答

1

如果你想對它做任何事情,你需要捕獲返回值parseFloat()。你會想要做這樣的事情:

var elem = document.getElementById('a'); 
for (i = 0; i < elem.children.length; i++) { 
    var x = window.getComputedStyle(elem.children[i], null).getPropertyValue('opacity'); 
    var opacity = parseFloat(x); 
    if (opacity === 1.0) { 
     elem.children[i].style.your_style = whatever; 
    } 
} 
+0

並且將'10'改爲'elem.children.length',否則如果孩子小於10的話會引發錯誤:-) – Grundy

+0

@Grundy謝謝!出於某種原因,我沒有打擾檢查該線路。 – nick

相關問題