zoukankan      html  css  js  c++  java
  • jquery class

    1. 在开发过程中,对元素的class进行操作是经常的事情,如为元素增加一个class或删除一个class或对一个class进行toggle操作。Jquery提供了三个方法addClass、removeClass、toggleClass用来完成对class的操作。   
    2. // 一组对元素attr,class等进行操作的函数   
    3. jQuery.each( {   
    4.         addClass : function(classNames) {// 为元素增加一些classNames   
    5.             jQuery.className.add(this, classNames);   
    6.         },   
    7.         removeClass : function(classNames) {// 除去元素的一些classNames   
    8.             jQuery.className.remove(this, classNames);   
    9.         },   
    10.         toggleClass : function(classNames) {// 开关该class,   
    11.             jQuery.className[jQuery.className.has(this, classNames)   
    12.                     ? "remove"  : "add"](this, classNames);   
    13.         },   
    14.     }, function(name, fn) {   
    15.         jQuery.fn[name] = function() {   
    16.             return this.each(fn, arguments);   
    17.         };   
    18.     });   
    19.    上面的代码简单,它们调用jQuery. className中的add或remove方法:   
    20.     // 一组内部使用的Class操作函数   
    21. className : {   
    22.         // 为元素增加classNameS   
    23.      add : function(elem, classNames) {// 多个className,空格分开   
    24.         jQuery.each((classNames || "").split(/\s+/),   
    25.           function(i, className) {   
    26. if (elem.nodeType == 1     
    27.          && !jQuery.className.has(elem.className,className))   
    28.             elem.className += (elem.className ? " " : "")   + className;   
    29.             });   
    30.         },   
    31. // 为元素除去classNames   
    32. remove : function(elem, classNames) {   
    33.     if (elem.nodeType == 1)// 元素   
    34.       elem.className = classNames != undefined ? jQuery.grep(   
    35.         elem.className.split(/\s+/), function(className) {// 过滤   
    36.                 return !jQuery.className.has(classNames,className);   
    37.             }).join(" ") : "";   
    38.         },   
    39. // 元素有没有className?   
    40. has : function(elem, className) {   
    41.     return jQuery.inArray(className, (elem.className || elem)   
    42.             .toString().split(/\s+/)) > -1;   
    43.         }   
    44. },   
    45. jQuery.className.has方法先把elem.className分成多个class(如果有多个的话),再判断参数className在数组中的位置来判断元素是否包含指定的class。jQuery.className.add先判断元素是不是含有指定的class,没有话就追加。jQuery.className.remove 正好相反。   
    46.   
    47. Jquery还提供了一个hasClass用来判断其集合的元素是否含有指定的class,如果有一个含有的话,就返回true。   
    48. / 检查当前的元素是否含有某个特定的类,如果有,则返回true  
    49.     hasClass : function(selector) {   
    50.         return this.is("." + selector);   
    51.     },  
  • 相关阅读:
    某个牛人做WINDOWS系统文件详解
    常用ASP脚本程序集锦
    LINUX基础:文件安全与权限
    proftpd+mysql+quota
    apache2.0.49tomcat5.0.19jk2建立virtualHost
    URL Redirection(转) Anny
    顶级域名后缀列表(转) Anny
    \u4E00\u9FA5意义 Anny
    How to POST Form Data Using Ruby(转) Anny
    How to get rid of 'Enter password to unlock your login keyring' in Ubuntu(转) Anny
  • 原文地址:https://www.cnblogs.com/rooney/p/1346459.html
Copyright © 2011-2022 走看看