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); }
时间: 2024-10-31 14:50:13