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

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/

(0)

相关推荐

  • jquery获取input表单值的代码

    jquery取radio单选按钮的值$("input[name='items']:checked").val();jquery radio取值,checkbox取值,select取值,radio选中,checkbox选中,select选中,及其相关 获取一组radio被选中项的值 var item = $('input[name=items][checked]').val(); 获取select被选中项的文本 var item = $("select[name=items]

  • JQuery对class属性的操作实现按钮开关效果

    在本文中用JQuery对class属性的操作方法实现页面中的按钮开关效果. 首先定义两个class: 复制代码 代码如下: .controlOff{ display:inline-block; width:130px; height:36px; cursor:pointer; background-image:url("../iclass/images/teach_off.png"); background-repeat: no-repeat; } .controlOn{ displa

  • jQuery文本框(input textare)事件绑定方法教程

    目前1.7以上,jquery​的事件绑定已经用on替换了原来的bind,接下来为大家介绍下bind的使用方法及input textare事件,感兴趣的朋友可以参考下 (1)jquery 绑定事件 目前1.7以上,jquery的事件绑定已经用on替换了原来的bind: 区别:(个人理解)bind是一次绑定事件到每一个子节点:on是只绑定到父节点,然后冒泡到各个子节点: 用法:bind 一个事件,一个方法:$(".class input").bind('click',function(e)

  • jQuery操作input值的各种方法总结

    获取选中的值获取一组radio被选中项的值 复制代码 代码如下: var item = $('input[@name=items][@checked]').val(); 获取select被选中项的文本 复制代码 代码如下: var item = $("select[@name=items] option[@selected]").text(); select下拉框的第二个元素为当前选中值 复制代码 代码如下: $('#select_id')[0].selectedIndex = 1;

  • jQuery使用addClass()方法给元素添加多个class样式

    本文实例讲述了jQuery使用addClass()方法给元素添加多个class样式的方法.分享给大家供大家参考.具体如下: jQuery通过addClass()方法给元素添加多个class,只需要在添加的class中用空格分开多个class既可 <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(doc

  • jQuery给多个不同元素添加class样式的方法

    本文实例讲述了jQuery给多个不同元素添加class样式的方法.分享给大家供大家参考.具体分析如下: jQuery可以通过addClass()方法给多个不同的html元素同时添加相同的class <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(document).ready(function(){

  • jQuery针对input的class属性写了多个值情况下的选择方法

    本文实例讲述了jQuery针对input的class属性写了多个值情况下的选择方法.分享给大家供大家参考,具体如下: jQuery选择input的class属性写了多个值的情况: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script src="jquery-1.6.2.js" ty

  • jQuery Validate表单验证插件 添加class属性形式的校验

    本文实例介绍了jQuery Validate 表单验证插件,添加class属性形式的校验,分享给大家供大家参考,具体内容如下 效果如下: 一.jQuery表单验证插件,添加class属性形式的校验 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jQuery表单验证插件----添加cla

  • jQuery操作input type=radio的实现代码

    <input type="radio">如下: 复制代码 代码如下: <input type="radio" name="city" value="BeiJing">北京 <input type="radio" name="city" value="TianJin">天津 <input type="radio&quo

  • jQuery操作 input type=checkbox的实现代码

    复制代码 代码如下: <input type="checkbox">: 2012欧洲杯"死亡之组"小组出线的国家队是:<br> <input type="checkbox" name="nation" value="Germany">德国 <input type="checkbox" name="nation" value=&

  • jquery实现input输入框实时输入触发事件代码

    复制代码 代码如下: <input id="productName" name="productName" class="wid10" type="text" value="" /> 复制代码 代码如下: //绑定商品名称联想 $('#productName').bind('input propertychange', function() {searchProductClassbyName()

随机推荐