css是页面不能分隔的部分,jQuery中也提供了一些css相关的实用的办法。前面章节中有使用过 addClass()为元素添加css样式风格。本节主要介绍jQuery如何设置页面的样式风格。包括添加、删除、动态切换等。
1. 添加、删除css类别。
$(function() {
//同时添加多个CSS类别
$("img").addClass("css1 css2");
});
如以上代码对img元素添加了css1和 css2两个样式
removeClass与addClass方法相对应,这里不再重复例举。
2.在类别间动态切换。
很多时候根据用户的操作状态,希望某些元素的样式风格在某个类别之间切换,时而addClass()类别,时而removeClass()类别,Jq提供了一个直接的toggleClass(name)来进行类似的操作。
$(function() {
$("p").click(function() {
$(this).toggleClass("css1");
})
});
以上代码实现了点击P元素时,对css1样式不断切换。toggleClass(name)方式只能设定一种css类别。不能对多个css进行切换。
3.直接获取、设置样式。
与attr()方法完全类似,jQuery提供了css()方法直接获取、设置元素的样式风格,比如使用css(name)获取某种样式的风格值。通过css(properties)列表来同事设置多种样式,通过css(name,value)设置元素的某种样式。
例如:通过设置鼠标mouseover和mouseout事件触发css(name,value)来修改颜色标记。
$(function() {
$("p").mouseover(function() {
$(this).css("color", "red");
});
$("p").mouseout(function() {
$(this).css("color", "black");
});
});
css方法提供了opacity属性。并且兼容各种浏览器。
如上例子修改,可以通过鼠标事件设置p元素的透明度值。
$(function() {
$("p").mouseover(function() {
$(this).css("opacity", "0.5");
});
$("p").mouseout(function() {
$(this).css("opacity", "1");
});
});
另外在css中提供了hasClass(name)方法判断某个元素是否设置了某个css类别。返回布尔值。例如:
$("li:last").hasClass("css1")
表达最后一个li的css属性是否包含css1类。和
$("li:last").is(".css1")
代码效果完全相同。
查看jQuery源码,hasClass方法就是调运is()方法。
hasClass: function(selector) {
return this.is("." + selector);
}
一:javascript基础系列(已完结) | 二:javascript基础系列之DOM(已完结) | 三:jQuery系列文章(已完结) |
四:AJAX | 五:JavaScript权威指南(核心篇,已完结) | 六:JavaScript框架设计(已完结) |
七:数据结构与算法javascript描述 |