• jQuery(六) jQuery修改class属性和CSS样式


    jQuery修改class属性和CSS样式

    class属性修改

      类属性即class属性,规定类名.
      用类选择器规定样式的时候,需要为元素指定类名,即class属性的值.
      注意每个HTML元素只有一个class属性.但是class属性的值可以是多个名称,即可能包含一个词的列表,中间用空格分隔.
     
      用jQuery进行类名修改既可以用attr()方法修改”class”属性,也可以用addClass(), removeClass(), toggleClass()等方法来完成.
     
    addClass()
      addClass()方法向匹配的元素增加指定的类名(一个或多个).
      注意对于元素来说,class属性可以有多个值.该方法不会移除已经存在的值,而是在原有的基础上追加一个或多个class属性. 
      用attr()方法设置class属性,是一个覆盖的过程;而addClass()则是一个追加的过程.
      class之间最终是用空格来隔开的.
      如果需要添加多个类,用空格分隔类名.
      从1.4开始,这个方法的参数也可以传入一个function.
     
    removeClass()
      removeClass()方法从被选元素移除一个或多个类.如需移除若干类,用空格来分隔类名.
      如果没有传参数,该方法将会移除被选元素的所有类.
     
     
    toggleClass()
      toggleClass()方法对被选元素的一个或多个类进行切换(设置或移除).
      该方法检查每个元素中的指定类,如果存在则删除,如果不存在则添加.
      通过添加参数,可以设置只进行删除或者只进行添加操作.
      格式:$(selector).toggleClass(class,switch)
      switch值为true时,只添加;为false时,只删除.
     
     
    hasClass()
      hasClass()方法检查被选元素是否包含指定的class.
      还可以用is()方法实现同样的功能,方法参数传入一个选择器字符串,比如”.className”.
     

    CSS样式修改

      jQuery中还有一些方法直接返回或者设置元素的CSS属性.
    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()
      高度和宽度属性.这个宽高值不包括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()
      返回第一个匹配元素相对于父元素(offset parent)的位置.
      只有读操作.
     
    offset()
      返回第一个匹配元素的坐标,或者设定每一个匹配元素的坐标,这个坐标是相对于document的.
     
     
    offsetParent()
      返回父类,只有读操作.
     
    scrollLeft()和scrollTop()
     
     
     

    参考资料

      圣思园张龙老师JavaWeb视频教程75
      jQuery API: http://api.jquery.com/
      w3school 参考手册:
     

     

  • 相关阅读:
    git stash错误小记
    PHP,Mysql根据经纬度计算距离并排序
    JS~字符串长度判断,超出进行自动截取(支持中文)
    Redis的三种启动方式
    Ubuntu 14.04 LTS下安装Google Chrome浏览器
    PHP-PHPExcel用法详解
    git设置log的别名 for hist log样式格式化
    Ubuntu系统下配置PHP支持SQLServer 2005
    Git命令图片版
    《一线架构师实践指南》读后感(二)
  • 原文地址:https://www.cnblogs.com/liu-Gray/p/4807685.html
Copyright © 2020-2023  润新知