jQuery修改操作css屬性實現方法
[導讀] 在jquery中我們要動態的修改css屬性我們只要使用css()方法就可以實現了,下面我來給各位同學詳細介紹介紹。css()方法在使用上具有多樣性,我們先來了解css()方法基本知識。css() 方法設置或返回被選元素的一個
在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%"});
如我們要改變鏈接顏色,我們可以使用下面的代碼:
$("#61dha").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屬性值。例如,我們想查看鏈接的顏色,可以使用下面的代碼:
$("#61dha").css("color")
//和第一個例子相似,但是這裏我們只傳遞一個參數(樣式屬性)最後要介紹的是如何設置鼠標劃過後的鏈接樣式(比如: 顏色)。我們無法使用選擇器直接選擇鼠標劃過狀態下的鏈接,也就是說$("a:hover")是不成立的。因此我們需要用到jQuery提供的事件類方法 - hover()。值得注意的是,hover()方法需要定義兩個函數,一個是鼠標劃過時;另一個是鼠標劃過後。具體方法如下:
$("#61dha").css('color','#123456');
$("#61dh a").hover(function(){
$(this).css('color','#999');
},
function(){
$(this).css('color','#123456');
});
//hover()方法的兩個函數使用用逗號分隔你或許注意到這種方法一點都不簡潔(違背了jQuery的宗旨),其實jQuery提供的hover()方法不是用來改變CSS樣式的。在實際運用中,建議使用添加/移出CSS的方法來改變鼠標劃過的鏈接樣式。
還有一些常用的如addclass,hasclass我們也來看看
下表是修改CSS類相關的jQuery方法:
名稱 |
說明 |
實例 |
addClass( classes ) |
爲每個匹配的元素添加指定的類名。 |
爲匹配的元素加上 'selected' 類: |
hasClass( class ) |
判斷包裝集中是否至少有一個元素應用了指定的CSS類 |
|
removeClass( [classes] ) |
從所有匹配的元素中刪除全部或者指定的類。 |
從匹配的元素中刪除 'selected' 類: |
toggleClass( class ) |
如果存在(不存在)就刪除(添加)一個類。 |
爲匹配的元素切換 'selected' 類: |
toggleClass( class, switch ) |
當switch是true時添加類, |
每三次點擊切換高亮樣式: |
使用上面的方法, 我們可以將元素的CSS類像集合一樣修改, 再也不必手工解析字符串.注意 addClass(class ) 和removeClass([classes] ) 的參數可以一次傳入多個css類, 用空格分割,比如:
$(“#btnAdd”).bind(“click”,
Function(event){
$(“p”).addClass(“colorRed borderBlue”);
}
);
removeClass方法的參數可選,
如果不傳入參數則移除全部CSS類:
$(“p”).removeClass();
2. 修改CSS樣式
同樣當我們想要修改元素的具體某一個CSS樣式,即修改元素屬性"style"時, jQuery也提供了相應的方法:
名稱 |
說明 |
實例 |
css( name ) |
訪問第一個匹配元素的樣式屬性。 |
取得第一個段落的color樣式屬性的值: $("p").css("color"); |
css( properties ) |
把一個“名/值對”對象設置爲所有匹配元素的樣式屬性。 這是一種在所有匹配的元素上設置大量樣式屬性的最佳方式。 |
將所有段落的字體顏色設爲紅色並且背景爲藍色: |
css( name, value ) |
在所有匹配的元素中,設置一個樣式屬性的值。 數字將自動轉化爲像素值 |
將所有段落字體設爲紅色: $("p").css("color","red"); |