區(qū)別:1、css()的靈活性比addclass()高,css()可以很容易動(dòng)態(tài)的去改變一個(gè)樣式的屬性;2、addClass()不能獲取到指定樣式的樣式值,而css()可以獲取;3、css()設(shè)置的樣式屬性優(yōu)先級(jí)要高于addClass()。
本教程操作環(huán)境:windows7系統(tǒng)、jquery1.10.2版本、Dell G3電腦。
css()和addclass()的區(qū)別
可維護(hù)性:
.addClass()的本質(zhì)是通過定義個(gè)class類的樣式規(guī)則,給元素添加一個(gè)或多個(gè)類。css方法是通過JavaScript大量代碼進(jìn)行改變?cè)氐臉邮?/p>
通過.addClass()我們可以批量的給相同的元素設(shè)置統(tǒng)一規(guī)則,變動(dòng)起來比較方便,可以統(tǒng)一修改刪除。如果通過.css()方法就需要指定每一個(gè)元素是一一的修改,日后維護(hù)也要一一的修改,比較麻煩
靈活性:
通過.css()方式可以很容易動(dòng)態(tài)的去改變一個(gè)樣式的屬性,不需要在去繁瑣的定義個(gè)class類的規(guī)則。一般來說在不確定開始布局規(guī)則,通過動(dòng)態(tài)生成的HTML代碼結(jié)構(gòu)中,都是通過.css()方法處理的
樣式值:
.addClass()本質(zhì)只是針對(duì)class的類的增加刪除,不能獲取到指定樣式的屬性的值,.css()可以獲取到指定的樣式值。
樣式的優(yōu)先級(jí):
css的樣式是有優(yōu)先級(jí)的,當(dāng)外部樣式、內(nèi)部樣式和內(nèi)聯(lián)樣式同一樣式規(guī)則同時(shí)應(yīng)用于同一個(gè)元素的時(shí)候,優(yōu)先級(jí)如下
外部樣式 < 內(nèi)部樣式 < 內(nèi)聯(lián)樣式
-
.addClass()方法是通過增加class名的方式,那么這個(gè)樣式是在外部文件或者內(nèi)部樣式中先定義好的,等到需要的時(shí)候在附加到元素上
-
通過.css()方法處理的是內(nèi)聯(lián)樣式,直接通過元素的style屬性附加到元素上的
通過.css
方法設(shè)置的樣式屬性優(yōu)先級(jí)要高于.addClass
方法
總結(jié):
.addClass與.css方法各有利弊,一般是靜態(tài)的結(jié)構(gòu),都確定了布局的規(guī)則,可以用addClass的方法,增加統(tǒng)一的類規(guī)則
如果是動(dòng)態(tài)的HTML結(jié)構(gòu),在不確定規(guī)則,或者經(jīng)常變化的情況下,一般多考慮.css()方式
相關(guān)視頻教程推薦:jQuery教程(視頻)