2013-04-28 53 views

回答

5

,我認爲這會工作:

var hasBackground = $("*").filter(function() { 
    return !!this.style.backgroundColor; 
}); 

...之後,hasBackground將一組元素在其上background-color風格一直直接集(例如,不通過樣式規則) 。

但是我想申請「主題」的網站將換出CSS樣式表,而不是單個元素的規則,這樣的最佳方式:

<link rel="stylesheet" type="text/css" href="http://jsbin.com/evilit/1"> 
<link id="style" rel="stylesheet" type="text/css" href="http://jsbin.com/ireted/1"> 
<script> 
(function() { 

    setInterval(swapStyles, 1000); 

    function swapStyles() { 
    var style = $("#style"); 
    if (style[0].href.indexOf("ireted") === -1) { 
     style[0].href = "http://jsbin.com/ireted/1"; 
    } 
    else { 
     style[0].href = "http://jsbin.com/uhoqob/1"; 
    } 
    } 

})(); 
</script> 

Live Example | Source

其中http://jsbin.com/evilit/1是:

body { 
    font-size: 26pt; 
} 

http://jsbin.com/ireted/1是:

body { 
    background-color: yellow; 
} 

http://jsbin.com/uhoqob/1是:

body { 
    background-color: #eee; 
} 

注意,在本例中,有正在加載樣式表。第一個定義字體大小,第二個(我們每秒換出)定義背景顏色。

+0

我的問題之一是,如果我將我的風格放入.css文件並應用它,整個網站就會崩潰。像沒有任何顯示,但堅實的backgroudn覆蓋的顏色。我試過media =「Screen」等等,但它只是在.CSS文件中不起作用。這真的令人費解。 – WASasquatch 2013-04-28 21:44:14

+1

@WASasquatch:聽起來像您可能會重寫功能性而不是裝飾性的樣式。確保您要交換的樣式表僅定義了可引用的內容。 – 2013-04-28 21:46:50

+0

http://jordan.rave5.com/tmpstuff/這是如果我用我的風格使用樣式表會發生什麼。背景圖像中斷和樣式顯示不正確。與http://jordan.rave5.com/tmpstuff/index_raw.html – WASasquatch 2013-04-28 21:52:15

0

將樣式放入CSS文件時,忘了做絕對路徑。