jQuery修改class属性和CSS样式整理


Posted in Javascript onJanuary 30, 2015

class属性修改

类属性即class属性,规定类名.

用类选择器规定样式的时候,需要为元素指定类名,即class属性的值.

注意每个HTML元素只有一个class属性.但是class属性的值可以是多个名称,即可能包含一个词的列表,中间用空格分隔.

具体使用方法见:http://www.w3school.com.cn/css/css_selector_class.asp
 

用jQuery进行类名修改既可以用attr()方法修改”class”属性,也可以用addClass(), removeClass(), toggleClass()等方法来完成.

addClass()

API: http://api.jquery.com/addClass/

addClass()方法向匹配的元素增加指定的类名(一个或多个).

注意对于元素来说,class属性可以有多个值.该方法不会移除已经存在的值,而是在原有的基础上追加一个或多个class属性.

用attr()方法设置class属性,是一个覆盖的过程;而addClass()则是一个追加的过程.

class之间最终是用空格来隔开的.

如果需要添加多个类,用空格分隔类名.

从1.4开始,这个方法的参数也可以传入一个function.

removeClass()

API: http://api.jquery.com/removeClass/

removeClass()方法从被选元素移除一个或多个类.如需移除若干类,用空格来分隔类名.

如果没有传参数,该方法将会移除被选元素的所有类.

toggleClass()

API: http://api.jquery.com/toggleClass/

toggleClass()方法对被选元素的一个或多个类进行切换(设置或移除).

该方法检查每个元素中的指定类,如果存在则删除,如果不存在则添加.

通过添加参数,可以设置只进行删除或者只进行添加操作.

格式:$(selector).toggleClass(class,switch)

switch值为true时,只添加;为false时,只删除.

hasClass()

API: http://api.jquery.com/hasClass/

hasClass()方法检查被选元素是否包含指定的class.

还可以用is()方法实现同样的功能,方法参数传入一个选择器字符串,比如”.className”.

CSS样式修改

jQuery中还有一些方法直接返回或者设置元素的CSS属性.

css()

API: http://api.jquery.com/css/

读操作: 获取匹配元素集合中第一个元素的指定样式值(一个或多个).

注:读取多个样式值的操作是在jQuery v1.9才加入的.

写操作: 为匹配元素集合中的每一个元素设置一个或多个CSS属性的值.

传入的参数可以是单个的键值对,也可以是PlainObject指定的多个值,还可以是function.(v1.4).
 

jQuery会处理各个浏览器中不太相同的一些具体情况,比如W3C的cssFloat在IE中是styleFloat,在jQuery中,你可以使用float,然后jQuery会帮你把它翻译成每个浏览器中应该有的正确名称.

还有,jQuery会合理解读CSS和DOM格式的多词属性,比如.css(“background-color”)和.css(“backgroundColor”),它都是可以处理的.

height()和width()

API: http://api.jquery.com/height/和http://api.jquery.com/width/

高度和宽度属性.这个宽高值不包括padding,border和margin.除非box-sizing属性被使用了.

注意写操作的时候set的是content的宽高,不包括box-sizing的部分.
 

读操作仍然是返回集合第一个元素的属性值.

.css(“width”)和.width()的区别是:前者返回带单位的值,比如400px;后者返回不带单位的像素数值,即400.

所以如果值需要被用于某种计算,.height()和.width()是被推荐使用的.

读取得到的数值不一定是整型,并且如果用户缩放了页面,其值可能是不正确的,因为浏览器没有暴露这种情况的API.

还有一种不准确的情况,当这个元素的父元素隐藏起来时,该元素的尺寸可能读不准.
 

写操作支持的value类型是字符串或者数字.

如果是数字,jQuery默认是px为单位.

如果是字符串,除了可以数字加单位之外,任何合理的CSS measurement都可以用,比如100%,50%,或者auto.

position()

API: http://api.jquery.com/position/

返回第一个匹配元素相对于父元素(offset parent)的位置.

只有读操作.

offset()

API: http://api.jquery.com/offset/

返回第一个匹配元素的坐标,或者设定每一个匹配元素的坐标,这个坐标是相对于document的.

offsetParent()

API:http://api.jquery.com/offsetParent/

返回父类,只有读操作.

scrollLeft()和scrollTop()

API: http://api.jquery.com/scrollLeft/和http://api.jquery.com/scrollTop/

Javascript 相关文章推荐
document.getElementById为空或不是对象的解决方法
Jan 24 Javascript
jquery获取当前点击对象的value方法
Feb 28 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
Apr 29 Javascript
JS获取网页图片name属性的方法
Apr 01 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
Nov 26 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
Jun 09 Javascript
vue.js实现单选框、复选框和下拉框示例
Jul 18 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
Oct 31 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
Dec 19 Javascript
jquery树形插件zTree高级使用详解
Aug 16 jQuery
解决Layui中templet中a的onclick参数传递的问题
Sep 20 Javascript
vue项目出现页面空白的解决方案
Oct 31 Javascript
javascript中AJAX用法实例分析
Jan 30 #Javascript
JavaScript基础函数整理汇总
Jan 30 #Javascript
JS解析XML实例分析
Jan 30 #Javascript
javascript中键盘事件用法实例分析
Jan 30 #Javascript
javascript中cookie对象用法实例分析
Jan 30 #Javascript
javascript事件模型实例分析
Jan 30 #Javascript
JS是按值传递还是按引用传递
Jan 30 #Javascript
You might like
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
CI框架中集成CKEditor编辑器的教程
2014/06/09 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
PHP使用Http Post请求发送Json对象数据代码解析
2020/07/16 PHP
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
复杂的javascript窗口分帧解析
2016/02/19 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
关闭Vue计算属性自带的缓存功能方法
2018/03/02 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
python django 实现验证码的功能实例代码
2017/05/18 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
2017/06/12 Python
python不换行之end=与逗号的意思及用途
2017/11/21 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
uwsgi+nginx部署Django项目操作示例
2018/12/04 Python
Django框架模板文件使用及模板文件加载顺序分析
2019/05/23 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
Python图像识别+KNN求解数独的实现
2020/11/13 Python
Linux文件操作命令都有哪些
2016/07/23 面试题
厂办主管岗位职责范本
2014/02/28 职场文书
食品业务员岗位职责
2014/03/18 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
店长岗位职责
2015/02/11 职场文书
幼儿园亲子活动通知
2015/04/24 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
银行服务理念口号
2015/12/25 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python