2013-06-03 71 views
0

如果我應用了CSS3過濾器屬性DOM對象上使用$('#my-div').css("-webkit-filter")(jQuery的),將返回以下字符串:如何獲取當前的CSS3濾鏡屬性函數參數值?

"blur(*px) invert(100%) etc" 

我怎樣才能快速找到每一個人CSS3濾波特性函數參數的當前值(也可能是transform屬性)應用於給定的DOM元素?

+0

取出該字符串並使用'.split(「」)'?然後你可以研究'[0]','[1]'等等,我對'-webkit-filter'屬性一無所知,所以我不確定這真的有幫助:) – Ian

+0

我正在考慮這些方面(可能是一個正則表達式),但我懷疑必須有一個更清晰的方法來做到這一點,因爲這是您在某個時候想做的事情類型,IMO。 – Charlie

+0

啊,是的,現在我看到該屬性的細節,正則表達式會更有意義。那麼,我想也許會有「sub」屬性......有點像'border'在技術上由'border-style','border-width','border-color'等組成......但我似乎無法找到像'filter'那樣的任何細節。然而,正則表達式可能不是一個壞主意。可能是一個有趣的小項目 – Ian

回答

2

看來,.css,它包裝window.getComputedStyle,正常化CSS值做了很好的工作。一般的正則表達式來捕獲名稱/值是

/(?:^|\s+)(.*?)\((.*?)\)/g 

可以使用.replace而不更換以便分別獲得的過濾器的名稱和它的值,或許它們存儲在一個對象。

http://jsfiddle.net/ExplosionPIlls/26kNc/

+0

在沒有明智的getter方法的情況下,這看起來相當不錯。謝謝。 – Charlie

相關問題