2012-06-28 55 views
0

Newbie jquery:.css()函數如果屬性包含在HTML中,或者定位並隨後從外部樣式表(如果有的話)改變元素,那麼函數會改變元素的屬性?.css()是否改變HTML或外部樣式表中的屬性?

例如

$('#main').css('background-color', '#eee'); 

因爲我有我的HTML中沒有內嵌<style>標籤,並在函數中查找#main類的鏈接外部樣式表?

回答

1

該代碼修改該元素的內嵌樣式屬性。它不會觸及你的所有css文件。

您的選擇器將查找與id = main並設置style.backgroundColor = '#eee'的元素。

0

當使用.css()作爲設置器時,jQuery修改元素的樣式 屬性。例如,$('#mydiv').css('color','green')與document.getElementById('mydiv')。style.color ='green'相當於 。

它設置元素的style屬性並且不接觸外部樣式表。

來源:http://api.jquery.com/css/#css2

1

JavaScript正在計算DOM元素上運行,而不是無論如何修改樣式表本身。據我所知,jQuery函數將放置在CSS同等水平來設置它的元素本身,即在:

<div id="main" style="background-color: #eee;"></div> 

這是CSS &內靶向會覆蓋其他任何的最高水平定位該元素(例如外部樣式表)。

0

jQuery在客戶端工作,所以它不能更改或更改服務器端的外部鏈接樣式表。首先,它會根據您的選擇器選擇元素,然後將css樣式內嵌。您可以通過在Firefox中使用Firebug來檢查這些內聯樣式。我們通常使用.css()來改變css風格的運行時間。如果你想在運行時應用鏈接的CSS樣式表中的樣式,你可以創建一個類,並使用它來使用它addClass().