CSS()方法改變CSS樣式
css()方法在使用上具有多樣性。其中有一種可接受兩個輸入參數:樣式屬性和樣式值,兩者之間用逗號分隔。比如要改變鏈接顏色,可以這樣編寫代碼:
代碼如下 | 復制代碼 |
$("#61dh a").css('color','#123456'); //選擇器‘$("#61dh a")’表示ID為‘#61dh’的元素下的所有鏈接。 //.css(‘color’,'#123456');表示把顏色設為'#123456' |
如果需要改變多個樣式屬性,可先定義屬性變量,然后直接賦值給css()方法。示例如下:
代碼如下 | 復制代碼 |
var mycss = { background: '#EEE', width: '478px', margin: '10px 0 0', padding: '5px 10px', border: '1px solid #CCC' }; $("#result").css(divcss); |
上述代碼先定義了一個CSS樣式屬性變量“mycss”,類似於建立一個外部CSS文件,之后通過css()方法,把屬性賦給ID為'#result'的DIV。
另外jQuery提供的css()方法還可以查看某個元素的css屬性值。例如查看鏈接的顏色,代碼如下:
代碼如下 | 復制代碼 |
$("#61dh a").css("color") |
你會發現,這與第一個例子相似,但是這里只傳遞一個參數(樣式屬性)。
最后要介紹的是如何設置鼠標划過后的鏈接樣式(比如: 顏色),需要用到jQuery事件類方法 - hover()。值得注意的是,hover()方法需要定義兩個函數,一個是鼠標划過時;另一個是鼠標划過后。具體方法如下:
代碼如下 | 復制代碼 |
$("#61dh a").css('color','#123456'); $("#61dh a").hover(function(){ $(this).css('color','#999'); }, function(){ $(this).css('color','#123456'); }); //hover()方法的兩個函數使用用逗號分隔 |
或許聰明的你已經注意到這種方法稱不上簡潔,呵呵,其實jQuery hover()方法不是用來改變CSS樣式的。在實際運用中,建議使用添加/移出CSS的方法來改變鼠標划過的鏈接樣式。
添加/改變/移除CSS類
1. removeClass() - 移除CSS類
代碼如下 | 復制代碼 |
$("#target").removeClass("oldClass"); //#target 指的是需要移除CSS類的元素的ID //oldClass 指的是CSS類的名稱 |
2.addClass() - 添加CSS類
代碼如下 | 復制代碼 |
$("#target").addClass("newClass"); //#target 指的是需要添加樣式的元素的ID //newClass 指的是CSS類的名稱 |
3. toggleClass() - 添加或者移除CSS類:如果CSS類已經存在,它將被移除;相反,如果CSS類不存在,它將被加上。
代碼如下 | 復制代碼 |
$("#target").toggleClass("newClass") //如果ID為“target”的元素已經定義了CSS樣式,它將被移除; //反之,CSS類“newClass”將被賦給該ID。 |
4.hasClass("className") - 判斷是否已經存在CSS
在實際運用中,我們通常是先定義好這些CSS類,然后通過Javascript事件觸發(比如點擊某個按鈕)來改變頁面元素樣式。此外,jQuery還提供一種方法 hasClass("className"),用來判斷某個元素是否已經被賦予某個CSS類。順便告訴前端開發的新手,jquery是值得擁有的,有空了好好研究吧。