jquery 如何动态添加、删除class样式方法介绍


Posted in Javascript onNovember 07, 2012

取与设置样式 获取class和设置class都可以使用attr()方法来完成。例如使用attr()方法来获取p元素的class,JQuery代码如下:

var p_class = $("p").attr("class"); //获取p元素的class 
[html] 
使用attr()方法来设置p元素的class,JQuery代码如下: 
[code] 
1 $("p").attr("'class", "high"); //设置p元素的class为 "high"

大多数情况下,它是将原来的class替换为新的class,而不是在原来的基础上追加新的class。
追加样式 什么是追加class呢?假如p元素原本的class为myClass,那么追加一个名叫high的class后,class属性变为 “myClass high”,即myClass和high两种样式的叠加。JQuery提供了专门的addClass()方法来追加样式。为了使例子更容易理解,首先在 style标签里添加另一组样式:
1 .high{ color:red; } 
2 .another{ font-style:italic; color:blue; } 
后在网页中添加一个“追加class类”的按钮,按钮的事件代码如下: 
1 $("#btn_3").click(function(){ 
2 $("#nm_p").addClass("another"); // 追加样式 
3 });

后当单击“追加class类”按钮时,p元素样式就会变为斜体,而先前的红色字体也会变为蓝色。此时p元素同时拥有两个class值,即"high"和"another"。在CSS中有以下两条规定。
1.如果给一个元素添加了多个class值,那么就相当于合并了它们的样式。 2.如果有不同的class设定了同一样式属性,则后者覆盖前者。 在上例中,相当于给p元素添加了如下样式:
1 color : red; /* 字体颜色设置红色*/ 
2 font-style:italic; 
3 color:blue;

以上的样式中,存在两个“color”属性,而后面的“color”属性会覆盖前面的“color”属性,因此最终的“color”属性的值为“blue”,而不是“red”。
移除样式 如果用户单击某个按钮时,要删除class的某个值,那么可以使用与addClass()方法相反的removeClass()方法来完成,它的 作用是从匹配的元素中删除全部或者指定的class。例如可以使用如下的JQuery代码来删除p元素中值为“high”的class:
1 $("p").removeClass("high"); //移除p元素中值为"high"的class 
果要把p元素的两个class都删除,就要使用两次removeClass()方法,代码如下: 
1 $("p").removeClass("high").removeClass("another"); 
Query提供了更简单的方法。可以以空格的方式删除多个class名,代码如下: 
1 $("p").removeClass("high another"); 
外,还可以利用removeClass()方法的一个特性来完成同样的效果。当它不带参数时,就会将class的值全部删除,JQuery代码如下: 
1 $("p").removeClass(); //移除p元素的所有class 
换样式 JQuery中有一个方法toggle(),JQuery代码如下: 
1 toggleBtn.toggle(function(){ 
2 //元素显示 代码③ 
3 }, function(){ 
4 //元素隐藏 代码④ 
5 })

oggle()方法此处的作用是交替执行代码③和代码④两个函数,如果元素原来是显示的,则隐藏它:如果元素原来是隐藏的,则显示它。此时,toggle()方法主要是控制行为上的重复切换。
另外JQuery还提供了一个toggleClass()方法控制样式上的重复切换。如果类名存在则删除它,如果类名不存在则添加它。例如对p元素进行toggleClass()方法操作。
1 $("p").toggleClass("another"); //重复切换类名“another”

不断单击“切换样式”按钮时,p元素的class的值就会在“myClass”和“myClass another”之间重复切换。
判断是否含有某个样式 hasClass()可以用来判断元素中是甭含有某个class,如果有,则返回true,否则返回false。例如可以使用下面的代码来判断p元素中是否含有“another”的class:
1 $("p").hasClass("another");

个方法是为了增强代码可读性面产生的。在JQuery内部实际上是调用了is()方法来完成这个功能的.该方法等价于如下代码:
view sourceprint? 1 $("p").is(".another"); //is("."+class);
Javascript 相关文章推荐
DIV外区域Click后关闭DIV的实现代码
Dec 21 Javascript
js实现一个省市区三级联动选择框代码分享
Mar 06 Javascript
可自己添加html的伪弹出框实现代码
Sep 08 Javascript
JavaScript函数的调用以及参数传递
Oct 21 Javascript
jQuery实现获取绑定自定义事件元素的方法
Dec 02 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
Mar 01 Javascript
js通过指定下标或指定元素进行删除数组的实例
Jan 12 Javascript
十个免费的web前端开发工具详细整理
Sep 18 Javascript
React Native使用百度Echarts显示图表的示例代码
Nov 07 Javascript
代码详解Vuejs响应式原理
Dec 20 Javascript
详解如何在Vue里建立长按指令
Aug 20 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
Nov 04 Javascript
探索Emberjs制作一个简单的Todo应用
Nov 07 #Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
Nov 07 #Javascript
seajs1.3.0源码解析之module依赖有序加载
Nov 07 #Javascript
Javascript引用指针使用介绍
Nov 07 #Javascript
JavaScript在多浏览器下for循环的使用方法
Nov 07 #Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
Nov 07 #Javascript
JS正则中的RegExp对象对象
Nov 07 #Javascript
You might like
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
PHP页面转UTF-8中文编码乱码的解决办法
2015/10/20 PHP
[原创]php实现 data url的图片生成与保存
2016/12/04 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
JS 图片缩放效果代码
2010/06/09 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
JavaScript自定义日期格式化函数详细解析
2014/01/14 Javascript
JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件
2015/12/20 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
2016/12/30 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
2019/12/30 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
初学python数组的处理代码
2011/01/04 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
python生成随机红包的实例写法
2019/09/02 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
详解px单位html5响应式方案
2018/03/08 HTML / CSS
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
个人找工作的自我评价
2013/10/17 职场文书
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
高考寄语大全
2014/04/08 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
2014年党员教师自我剖析材料
2014/09/30 职场文书
统计员岗位职责范本
2015/04/14 职场文书
建国大业观后感600字
2015/06/01 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书
导游词之青城山景区
2019/09/27 职场文书