我知道有些人會批評我想要的,但我會問我的問題。從javascript獲取非內聯CSS
我知道,如果他們的css不是內嵌格式,我們就無法獲得元素的樣式。所以我想要一個正則表達式(因爲我不是很好做),將得到所有的style
標籤,並將其innerHTML
應用正則表達式來創建一個像這樣的數組:
css [「myDiv」] [ 「color」] - >「red」
由於瀏覽器不兼容而不使用getComputedStyle
。
我知道有些人會批評我想要的,但我會問我的問題。從javascript獲取非內聯CSS
我知道,如果他們的css不是內嵌格式,我們就無法獲得元素的樣式。所以我想要一個正則表達式(因爲我不是很好做),將得到所有的style
標籤,並將其innerHTML
應用正則表達式來創建一個像這樣的數組:
css [「myDiv」] [ 「color」] - >「red」
由於瀏覽器不兼容而不使用getComputedStyle
。
有沒有辦法使用正則表達式來實現遠程接近這一點。使用複雜的算法來應用CSS規則,並且規則可以以各種方式被繼承,優先化和重寫。主要的瀏覽器需要多年的時間才能提出合規的實施方案,這並非巧合。
您應該改用該實施。您需要的工具是JavaScript,您需要的API是DOM。對於DOM中的每個節點,都有一個樣式對象,其中包含所有應用樣式,其格式非常接近您要生成的樣式。您可以通過getComputedStyle
和currentStyle
訪問此頁面。
你可以添加getComputedStyle和currentStyle的跨瀏覽器組合,就像snuffleupagus說的那樣,我會檢查你的答案爲接受! – user1365010
我會給你一個鏈接到一個有用的信息和你需要的代碼頁面:http://www.quirksmode.org/dom/getstyles.html –
請參閱http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – woz
使用getComputedStyle和IE9以前版本的組合, 'currentStyle'。 – Snuffleupagus