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