在jquery中我們要動態的修改css屬性我們只要使用css()方法就可以實現了,下面我來給各位同學詳細介紹介紹。
css()方法在使用上具有多樣性,我們先來了解css()方法基本知識。
css() 方法設置或返回被選元素的一個或多個樣式屬性。
返回 CSS 屬性
如需返回指定的 CSS 屬性的值,請使用如下語法:
css("propertyname");下面的例子將返回首個匹配元素的 background-color 值:
實例
$("p").css("background-color");
設置 CSS 屬性
如需設置指定的 CSS 屬性,請使用如下語法:
css("propertyname","value");下面的例子將為所有匹配元素設置 background-color 值:
實例
$("p").css("background-color","yellow");
設置多個 CSS 屬性
如需設置多個 CSS 屬性,請使用如下語法:
css({"propertyname":"value","propertyname":"value",...});下面的例子將為所有匹配元素設置 background-color 和 font-size:
實例
$("p").css({"background-color":"yellow","font-size":"200%"});
如我們要改變鏈接顏色,我們可以使用下面的代碼:
$("#61dh a").css('color','#123456');
//這裡選擇器‘$("#61dh a")’表示ID為‘#61dh’的元素下的所有鏈接。
//.css(‘color’,'#123456');表示把顏色設為'#123456'如果我們需要改變多個樣式屬性,我們可以先定義屬性變量,然後直接賦值給css()方法。示例如下:
var divcss = {
background: '#EEE',
width: '478px',
margin: '10px 0 0',
padding: '5px 10px',
border: '1px solid #CCC'
};
$("#result").css(divcss);
//這裡我們先定義了一個CSS樣式屬性變量‘divcss’,這類似於建立一個外部CSS文件。
//然後通過jQuery提供的css()方法,把屬性賦給ID為'#result'的DIV。另外jQuery提供的css()方法還可以用來查看某個元素的css屬性值。例如,我們想查看鏈接的顏色,可以使用下面的代碼:
$("#61dh a").css("color")
//和第一個例子相似,但是這裡我們只傳遞一個參數(樣式屬性)最後要介紹的是如何設置鼠標劃過後的鏈接樣式(比如: 顏色)。我們無法使用選擇器直接選擇鼠標劃過狀態下的鏈接,也就是說$("a:hover")是不成立的。因此我們需要用到jQuery提供的事件類方法 - hover()。值得注意的是,hover()方法需要定義兩個函數,一個是鼠標劃過時;另一個是鼠標劃過後。具體方法如下:
$("#61dh a").css('color','#123456');
$("#61dh a").hover(function(){
$(this).css('color','#999');
},
function(){
$(this).css('color','#123456');
});
//hover()方法的兩個函數使用用逗號分隔你或許注意到這種方法一點都不簡潔(違背了jQuery的宗旨),其實jQuery提供的hover()方法不是用來改變CSS樣式的。在實際運用中,建議使用添加/移出CSS的方法來改變鼠標劃過的鏈接樣式。
還有一些常用的如addclass,hasclass我們也來看看
名稱 說明 實例 addClass( classes ) 為每個匹配的元素添加指定的類名。 為匹配的元素加上 'selected' 類:
使用上面的方法, 我們可以將元素的CSS類像集合一樣修改, 再也不必手工解析字符串.注意 addClass( class ) 和removeClass( [classes] ) 的參數可以一次傳入多個css類, 用空格分割,比如: $(“#btnAdd”).bind(“click”, Function(event){ $(“p”).addClass(“colorRed borderBlue”); } );
名稱 說明 實例 css( name ) 訪問第一個匹配元素的樣式屬性。 取得第一個段落的color樣式屬性的值: $("p").css("color"); css( properties ) 把一個“名/值對”對象設置為所有匹配元素的樣式屬性。 這是一種在所有匹配的元素上設置大量樣式屬性的最佳方式。 將所有段落的字體顏色設為紅色並且背景為藍色: