操作元素的CSS样式
添加或去除元素集合的class name
1. 使用addClass()方法
addClass(names) 添加names指定的一个或多个class name给wrapped set。如果有多个name,使用空格分开,总之names是个字符串。
返回原来的wrapped set以进行JQuery链式操作。
注意:如果在添加的样式声明中有重复声明,谁的优先级更高呢? 请参阅这里看CSS的权重分配。
2. 使用removeClass()方法
removeClass(names) 去除names指定的一个或多个class name。如果有多个names,使用空格分开。
返回原来的wrapped set以进行JQuery链式操作。
3. 使用toggleClass()方法
toggleClass(name) 这次只能有一个class name作为参数。如果该class已经存在,则去除之;如果没有则添加之。
返回原来的wrapped set以进行JQuery链式操作。
获取或设置CSS样式
1. 使用css(name, value)方法
这个方法用来设置css样式给wrapped set中的每一个元素。
name就是css样式的属性名称;
value可以是(string|number|function) ,类似于上节提到的attr(name, value)方法,value如果是function,则传给function的参数时元素在wrappsed set中的序号,function内部使用this指向正在被操作的Javascript DOM元素(够强)。function的返回值就是要设置的 css属性的值了。
比如:
$('div').css('font-size', function(n){ return (n+1)+'em'; });$('div:eq(0)').css({ 'font-size' : '2em', 'color' : '#cc00ff'}); $('div').css({ 'font-size': function(n) { return (n+2) + 'em'; } });$.fn.getClassNames = function() { if (name = this.attr("className")) { return name.split(" "); } else { return []; }};