.css()与.addClass()设置样式的区别
对于样式的设置,有css和addClass方法,那么二者的区别是什么呢。
1,可维护性
addClass的本质是通过定义个class类的样式规则,给元素添加一个或者多个类。css方法是通过JavaScript大量代码进行改变元素的样式。
通过addClass我们可以批量的给相同的元素设置统一的规则,变动起来比较方便,可以统一修改删除。如果通过css方法就需要指定每一个元素是一个一个的修改,日后维护也需要一个个的修改,比较麻烦。
2,灵活性
通过css方法可以很容易的动态的改变一个样式的属性,不需要再去繁琐的定义个class类的规则。一般来说在不确定开始布局规则,通过动态生成的HTML代码结构中,都是通过css方法处理的。
3,样式值
addClass本质只是针对class类的增加删除,不能获取到指定的样式的属性的值,css()可以获取到指定的样式值。
4,样式的优先级
css的样式是有优先级的,当外部样式,内部样式和内联样式 同一样式规则同时应用于同一个元素的时候,优先级如下:
外部样式 < 内部样式 < 内联样式;
⑴,addClass方法是通过增加class名的方式,那么这个样式是在外部文件或者内部样式中先定义好的,等到需要的时候在附加到元素上;
⑵,通过.css()方法处理的是内联样式,直接通过元素的style属性附加到元素上的;
所以说,通过.css()方法设置的样式属性优先级要高于.addClass()方法;
5,小结
addClass与css方法各有利弊,一般是静态的结构,都确定了布局的规则,可以用addClass的方法,增加统一的类规则;
如果是动态的HTML结构,在不确定规则,或者经常变化的情况下,一般多考虑.css()方法;