zoukankan      html  css  js  c++  java
  • Jquery笔记

     

    一、选择器:

    1.1基本选择器

    Id选择器:

    $(#one).css(bcakground,red);

    类选择器:

    $(.mimn).css(background,red);

    标签选择器:

    $(div).css(background,red);

    通配符选择器:

    $(*)..css(background,red);

    组合选择器:

    $(span,#one).css(background,red);

    总结:

    JQuery中的基本选择器:

     ID选择器    类选择器             标签选择器     通配符选择器     群组选择器

    $("#id");  $(".className"); $("div");   $("*");    $("h2,h3,.cc");

    1.2层次选择器

    选择body内的所有div元素:

    $(body div).css(background,red)

    body内选择子元素是div

    $("body > div").css("background","red");

    Idone 的下一个兄弟元素:

      $("#one + div").css("background","red");

    idtwo的元素后面的所有div兄弟元素:

      $(“#one ~ div”).css("background","red");

    层次选择器:从父子关系和兄弟关系来进行选择页面节点

     $("a b");   :a节点的所有后代节点b都被选中

     $("a > b"); :a节点的所有子节点b都被选中

     $("a + b"); :a节点之后的第一个兄弟节点b

     $("a ~ b"); :a节点之后的所有兄弟节点b

    1.3过滤选择器

    1.1.1 基本过滤选择器

    选择第一个DIV元素

    $(div : first).css("background","red");

    选择最后一个div元素

    $("div:last").css("background","red");

    选择class不为one的所有div元素

    $("div:not(.one)").css("background","red");

    选择索引值为偶数的div元素 even:偶数 odd:奇数

    $("div:even").css("background","red");

    选择索引值为奇数的div元素

    $("div:odd").css("background","red");

    选择索引值等于3的元素

    $("div:eq(3)").css("background","red");

    选择索引值大于3的元素

    $("div:gt(3)").css("background","red");

    选择索引值小于3的元素

    $("div:lt(3)").css("background","red");

    选择所有的标题元素

    $(":header").css("background","red");

    选择当前正在执行动画的所有元素

    $(":animated").css("background","red");

    基本过滤选择器:

          从位置的角度来对页面的标签进行过滤选择

          $("tagName:first");

          $("tagName:last");

          $("tagName:eq(2)");

          $("tagName:gt(2)");

          $("tagName:lt(2)");

          $("tagName:odd");

          $("tagName:even");

          $(":header");

          $(":animated");

          $("tagName:not(.one)")

    1.1.2 内容过滤选择器

    选取含有文本"di"div元素

    $("div:contains('di')").css("background","red");

    选取不包含子元素(或者文本元素)div空元素.

    $("div:empty").css("background","red");

    选取含有classmini元素 的div元素. $("tagName:has(.mini)")

    1.选中的是DIV元素  2.子元素中的class值为mini

    $("div:has(.mini)").css("background","red");

    选取含有子元素(或者文本元素)div元素.

    $("div:parent").css("background","red");

    内容过滤选择器总结:节点值是否为空,节点上的文本中是否包含指定的字符串,子元素中的class值是否为指定的值

    $("tagName:empty");  

    $("tagName:parent");

    $("tagName:contains('aaa')");

    $("tagName:has(.one)");

    1.1.3 属性过滤选择器:

    选取含有属性titlediv元素.

    $("div[title]").css("background","red");

    选取属性title值等于testdiv元素.

    $("div[title='test']").css("background","red");

    选取属性title值不等于testdiv元素.

    $("div[title!='test']").css("background","red");

    选取属性title值以te开始 的div元素.

    $("div[title^='te']").css("background","red");

    选取属性title值以est结束的div元素.

    $("div[title$='est']").css("background","red");

    选取属性title值含有esdiv元素.   

    $("div[title*='es']").css("background","red");

    组合属性选择器,首先选取有属性iddiv元素,然后在结果中 选取属性title值 含有 es 的元素.

    $("div[id][title*='es']").css("background","red");

    属性过滤选择器:从节点的属性来过滤筛选节点:有无属性,属性值等于,不等于,包含,**开头,**结尾,多重过滤

      $("tagName:[id]");

      $("tagName:[id='cc']");

      $("tagName:[id!='cc']");

      $("tagName:[title^='cc']");

      $("tagName:[title$='cc']");

      $("tagName:[title*='cc']");

      $("tagName:[title*='cc'][name='ee'][id!='ff']");

    1.1.4 可见性过滤选择性:

    选中所有可见的div元素 $("div:visible"),设置样式;

    $("div:visible").css("background","blue");

    1.选中不可见的所有元素 $("body :hidden").lenth;  

        2.选中不可见的DIV元素  $("div:hidden");

    3.选中所有不可见的文本隐藏域 $("input:hidden")

    4.让所有不可见的DIV元素3秒内显示并且设置其为背景色$dm.show(3000).css("background","red");

    选中body元素下看不到的元素,包含隐藏表单组件 ,这里有空格,代表层次选择器

    alert($("body :hidden").length);

    alert($("div:hidden").length);

    alert($("input:hidden").length);

    所有不可见的div元素在3秒内显示

    $("div:hidden").show(3000);

    可见性选择器:根据页面上的元素是否显示来选择节点

     $("tagName:visible");

      $("tagName:hidden");

     $("tagName :hidden"); 选中标签tagName下所有隐藏的元素,包括隐藏表单组件slow normal fast

    1.1.5 元素过滤选择器

    选取classonediv下的第2个子元素

    $("div.one :nth-child(2)").css("background","blue");

    选取classonediv下的第1个子元素  

    $("div.one :first-child").css("background","blue");

    选取每个父元素下的最后一个子元素

    $("div.one :last-child").css("background","blue");

    如果父元素下的仅仅只有一个子元素,那么选中这个子元素  

    $("div.one :only-child").css("background","blue");

    子元素过滤选择器:选择父元素下的子元素(1,最后1,唯一的一个,第几个子元素)

    $("tagName :first-child");  $("tagName :last-child");

    $("tagName :only-child");   $("tagName :nth-child(2)");

    1.1.6 表单对象属性过滤选择器

    选中所有可用元素 $("input:enabled")

    $("input:enabled").val("AAA");

    选中所有不可用元素 $("input:disabled")

    $("input:disabled").val("BBB");

    总结:从表单组件的可用还是不可用来进行选择节点

    1.4表单选择器

     选中页面上的2个按钮<input type="button"/> <button>

    alert($("#form1 :button").length);

    选中表单下的<button>

    alert($("#form1 button").html("AAA"));

    alert($("#form1 :checkbox").length);

    $("#form1 :checkbox:eq(0)").attr("checked","true");

    选中idform1的表单小的input开头的组件

    alert($("#form1 input").length);

    选中idform1下的所有表单组件 包括textarea button select

    alert($("#form1 :input").length);

    选中idform1表单下的所有不可见元素

    alert($("#form1 :hidden").length);

    二、JQueryDom节点操作

    2.1查找节点

    获取p节点

    var $pDm=$("p");

    输出p节点的title属性

    alert($pDm.attr("title"));

     //获取第2li节点   

     var $li_2=$("ul li:eq(1)");

     //输出第2li节点的title属性

    alert($li_2.attr("title"));

    //输出第2li节点的文本内容

    alert($li_2.html());

    2.2创建节点

      创建2li节点,要求这2li节点包含文本包含属性title

     var $dm1=$("<li title='西瓜44'>西瓜</li>");

     var $dm2=$("<li title='香蕉55'>香蕉</li>");

     //将新创建的第1li节点追加到ul节点下的最后一个子节点

    $("ul").append($dm1);

    $("ul").append($dm1);

    //将新创建的第2li节点追加到ul节点下的第一个子节点

    $("ul").prepend($dm2);

    2.3插入节点

      var $dm1=$("<li title='葡萄44'>葡萄</li>");

     var $dm2=$("<li title='西瓜55'>西瓜</li>");

     var $dm3=$("<li title='香蕉66'>香蕉</li>");

     var $ulDm=$("ul");

     var $li_2=$("ul li:eq(1)");

    //2种方式来将创造的第1个节点添加到ul下的最后一个子节点

      //$ulDm.append($dm1);

      //$dm1.appendTo($ulDm);

      

      //2种方式来讲创造的第2个节点添加到ul下的第一个子节点

      //$ulDm.prepend($dm2);

      //$dm2.prependTo($ulDm);

      

      //2种方式将创造的li节点追加到第2个已经存在的li节点之后

      //$li_2.after($dm3);

      //$dm3.insertAfter($li_2);

      

      //2种方式将创造的li节点追加到第2个已经存在的li节点之前

      //$li_2.before($dm3);

      //$dm3.insertBefore($li_2);

    2.4删除节点

     自杀:直接找到我们要操作的节点删除即可.

     $("ul li:eq(1)").remove();

     jquery种删除掉的节点还可以继续获得

    var $dm=$("ul li:eq(1)").remove();

    $dm.appendTo($("ul"));

    JQuery中删除节点可以加过滤条件

    $("ul li").remove("li[title!=菠萝]"); 

    获取第2li节点后,将其元素中的内容清空

    $("ul li:eq(1)").empty();

    2.5属性操作

     JQuery中有很多类似的操作,获取节点的文本,获取节点的属性,

       $dm.html();   $dm.html("AAAA");

    $dm.attr("title");   $dm.attr("title","BBBBB");

    2.6样式操作

     获取样式

    alert($("p").attr("class"));

    设置样式 原先的样式不存在

    $("p").attr("class","high")

    追加样式 原先的样式还存在

    $("p").addClass("high")

    删除全部样式

    $("p").removeClass()

    删除指定样式

    $("p").removeClass("high");

    重复切换样式 $dm.toggleClass("another");

    $("p").toggleClass("high");

    判断元素p是否含有某样式 $dm.hasClass("another")

    alert($("p").hasClass("high"));

     JQuery提供了丰富的API让我们操作节点的样式:

    获取节点的样式,设置节点的样式,追加节点的样式,删除节点的样式(全部,指定)

    重复切换样式,判读节点是否包含指定的样式

    2.7CSS-DOM

    alert($("p").css("color"));    

    设置<p>元素的color

    $("p").css("color","red");  

    设置<p>元素的fontSizebackgroundColor $dm.css({"k1":v1,"k2":v2});

    $("p").css({"fontSize":30,"backgroundColor":'pink'});

    获取<p>元素的高度

    alert($("p").height());

    获取<p>元素的宽度

    alert($("p").width());

    设置<p>元素的高度  

    $("p").height("100px");

    设置<p>元素的宽度

     $("p").width("300px");  

    获取<p>元素的的左边距和上边距  $dm.offset(); $dm.left $dm.top

    var obj=$("p").offset();

    alert(obj.left);

    alert(obj.top);

     JQuery中对节点的样式操作,2种实现方案:

         第一种是将节点的样式作为节点的一个属性来进行整体操作

          $dm.attr("class","myClass");

         第二种方案通过节点的CSSDOM来控制节点的样式

          $dm.css("background","red");

          $dm.css("background");

    2.8遍历节点数

    利用JQuerychldren方法来获取页面上所有的body子元素

    alert($("body").children().length);

    var dms=$("body").children();

    for(var i=0;i<dms.length;i++){

    alert(dms[i].innerHTML);

    页面加载完毕之后,获取p节点后的同辈元素,输出其文本内容

    页面加载完毕之后,获取p节点前的同辈元素,输出其文本内容

    页面加载完毕之后,获取p节点所有的同辈元素

    window.onload=function(){

          //获取p节点之后所有的同辈元素

          var dms=$("p").nextAll();

          //for(var i=0;i<dms.length;i++){

            // alert(dms[i].innerHTML);

          //}

          

          //获取节点P之前所有的兄弟节点

          //dms=$("p").prevAll();

          //for(var i=0;i<dms.length;i++){

            // alert(dms[i].innerHTML);

          //}

          

          //获取p节点所有的兄弟节点

          dms=$("p").siblings();

          for(var i=0;i<dms.length;i++){

             alert(dms[i].innerHTML);

          }

    2.9设置和获取HTML文本和值

    获取<p>元素的HTML代码 $dm.html();

    如果p节点中有HTML标签,那么标签也会被返回

    alert($("p").html());

    获取<p>元素的文本

    通过方法text返回节点的内容,如果节点上包含HTML标签,那么这些标签不会被返回,仅仅返回文本信息

     alert($("p").text());

    PS: $dm.html();  $dm.text();  区别:

    设置<p>元素的HTML代码 $dm.html("夹杂HTML标签");

     //如果文本中包含对应的HTML标签,那么这些标签将会被浏览器作为普通标签来识别

      $("p").html("<span style='background:red'>DDDDD</span>");

    设置<p>元素的文本  $dm.text("不夹杂html标签");

     $("p").text("FFFFFF");

    设置<p>元素的文本 $dm.text("夹杂HTML标签");

    如果文本中包含了HTML标签,那么这些标签将会作为内容来识别

     $("p").text("<span style='background:red'>DDDDD</span>");

    获取当前按钮的value值  

    alert($("#btn1").val());

    设置当前按钮的value

    $("#btn2").val("我是后来设置的内容");

      JQuery中获取和设置节点的文本有2种方式:$dm.html() $dm.text();

         注意区分2者的不同之处

         获取:

         1html()不仅能获取文本内容,还可以获取标签内容

         2text()仅仅获取文本内容

         设置:

         1html()设置的文本中含有标签时,会被浏览器进行解析

         2text()设置的文本内容中含有标签时,不会被浏览器进行解析,作为字符串处理

        获取和设置节点的value值用 $dm.val();

     

     JQuery的方式为页面上的按钮绑定事件  

       $("#address").bind("focus",function(){

          if(this.value=='请输入邮箱地址'){

             this.value="";

          }

       });

       

       $("#address").bind("blur",function(){

          if(this.value==''){

             this.value="请输入邮箱地址";

    三、Jquery的事件

    3.1Window.onload$(document).ready()

    window.onload=function(){

    alert("BBBBB");

    }

     

    JQuery提供的 页面加载完毕之后执行function中的代码

    $(document).ready(function(){

    alert("CCCCCC");

    });

    简写形式

    $(function(){

    alert("DDDDDD");

    });

    区别:

    1.window.onload的方式来加载页面:必须等页面上所有的元素(图片,.js文件,CSS文件)全部传递到客户端之后才去执行其中的代码

    2.JQuery的形式来加载页面,页面上的DOM树形成了,无需等到所有资源加载完毕之后才去执行代码

    3.可以绑定的函数不一样 window.onload只能绑定1个函数 用JQuery的形式可以绑定多个     

     

    3.2JQuery完善的事件处理机制

    JQuery为节点pv绑定事件之前已经做过判断处理了

    window.onload=function(){

      var dm=document.getElementById("pvv");

      //为了保证代码的健壮性,为页面中的 节点绑定各种事件之前需要做大量的判断

      if(dm!=null){

      dm.onclick=function(){alert("ZZZZ");}

      }

      alert("ZZZZZZZ");

    }

     

      $("#pvv").bind("click",function(){alert("AAAAAA");});

      alert("AAAAAAA");

    });

    3.3事件绑定与合成

    获取idpanel下的class的值为headh5元素,

     * 为这个元素用JQuery的原始方式绑定点击事件

     * 让当前元素的下一个兄弟节点显示

    $("#panel h5.head").bind("click",function(){

     $(this).next().show();

    });

    JQuery的这种事件绑定方式可以很方便的实现 代码和内容分离, html标签和JS代码没有任何掺杂.

     

     * 页面加载完毕之后为idpanel下的class值为headh5元素用原始方式绑定一个click事件,

     * 获取当前节点的下一个兄弟元素$content

     * $coantent元素为的状态为可见状态是$dm.is(":visible")让节点$content节点隐藏.

     * 否则让节点$content节点隐藏.

    $("#panel h5.head").bind("click",function(){

        var $dm=$(this).next();

        //判断当前节点是否是显示

        if($dm.is(":visible")){

            $dm.hide(); //让当前节点隐藏

        }else{

            $dm.show(); //让当前节点显示

        }

     

    * 页面加载完毕之后,

    * idpanel下的class的值为headh5元素用原始方式绑定mouseover事件,

    * 让当前节点的下一个兄弟节点显示

    * idpanel下的class的值为headh5元素用原始方式绑定mouseout事件,

    * 让当前节点的下一个兄弟节点隐藏

    $("#panel h5.head").bind("mouseover",function(){

    $(this).next().show();

    });

     

    $("#panel h5.head").bind("mouseout",function(){

    $(this).next().hide();

    });*/

     

    JQuery支持链式操作

    $("#panel h5.head").bind("mouseover",function(){

    $(this).next().show();

    }).bind("mouseout",function(){

    $(this).next().hide();

    });

     

     

     

     

     

     

     * 等待页面加载完毕之后,

     * idpanel下的class值为headh5元素用简写形式绑定一个mouseover事件,让当前节点的下一个兄弟节点显示

     * idpanel下的class值为headh5元素用简写形式绑定一个mouseout事件,让当前节点的下一个兄弟节点隐藏

       

    用简写形式为节点绑定事件

       $("#panel h5.head").mouseover(function(){

           $(this).addClass("highlight");

           $(this).next().show();

       }).mouseout(function(){

        $(this).removeClass("highlight");

           $(this).next().hide();

       })

    合成事件

     * 为元素"h5.head"绑定hover事件,

      * 分别让当前节点的兄弟显示和隐藏

      * hover事件是模拟了页面上的鼠标悬停和鼠标移开事件

     $("h5.head").hover(function(){

     $(this).next().show();

      },function(){

            $(this).next().hide();

         });

     

      * 为元素"h5.head"绑定toggle事件,

      * 分别让当前元素的下一个兄弟节点显示和隐藏

      * toggle模拟了鼠标的连续点击事件

     $("h5.head").toggle(function(){

     alert("1111");

     },function(){

      alert("22222");

    },function(){

      alert("3333");

     });

     

     $("h5.head").toggle(function(){

        $(this).next().show();

     },function(){

        $(this).next().hide();

     });

     

     

     

     

      *  为元素绑定click事件,让当前节点下一个兄弟节点切换显示$dm.next().toggle();

      *  2种方式实现  面试:toggle2种用法分别代表什么?

    $("h5.head").click(function(){

       //如果将toggle当做一个函数来调用的话,可以切换当前节点的显示状态

    $(this).next().toggle();

    });

     

     

      * 为元素绑定toggle事件.

      *   1.当前节点增加样式.highlight 当前节点的下一个兄弟节点显示

      *   2.为当前节点移除样式.highlight,当前节点的下一个兄弟节点隐藏

       $(".head").toggle(function(){

           $(this).addClass("highlight");

           $(this).next().show();

       },function(){

        $(this).removeClass("highlight");

           $(this).next().hide();

       });

     

    });

     

      事件的简写绑定

      基本的合成事件:hover toggle

                   toggle2种用法

      面试: window.onloadJquery中的$(document).ready();区别?

           Jquery完善的事件处理机制是什么?   

    四、Juery动画

    五、JQueryAjax操作

    5.1 load

     页面加载完毕为 #send绑定点击事件 $("#resText").load("test.html");

    $(function(){

      $("#send").click(function(){

          //加载服务端的test.html页面,将加载到的页面中的信息填充到idresText的区域中

          $("#resText").load("test.html");

      });

    });

     

    页面加载完为#send绑定点击事件

    $("#resText").load("test.html .para",function(resonpseText,textStatus,XMLHttpRequest){

     *   this代表的值,回调函数3个值的含义

     * });;

    $(function(){

      $("#send").click(function(){

          //加载服务端的test.html页面,将加载到的页面中的信息填充到idresText的区域中

          //在显示test.html中的数据是,我们只显示class的值为para下的数据  $("#resText").load("test.html .para",function(responseText,textStatus,XMLHttpRequest){

              //alert("TTTTTT");

              //回调函数中第一个变量的代表的是响应到客户端的所有内容

              //alert(responseText);

              

              //代表响应状态

              //alert(textStatus);

              

              //核心对象

              //alert(XMLHttpRequest);

          });

      });

    5.2 get/post

     我们通过Ajax和服务端交互数据一般有3种情况,

          1.当交互的数据量很小,可以用字符串的方式来进行交互

          2.数据量稍微多点,数据有明显的格式,例如从ServerClient通过Ajax返回一个学生的信息

            学号,姓名,性别,年龄,电话等. 此时我们可用JSON格式的字符串来进行传递    

    Var str=

    {"stuNum":"001","stuName":"tom","stuSex":"female","stuAge":18,"stuPhone":"123456"}

            var dt=eval("("+str+")");

          3.数据量比较大,同时数据的格式比较复杂.例如,Server-->Client传递一大堆的学生,

              XML数据来进行传递

     

    字符串:

    $(function(){

      $("#send").click(function(){  

    $.post();--->$.post("");--->$.post("",{});-->$.post("",{},function(a,b,c){}

       $.post("demo1.jsp",{"username":"tom","content":"123"},function(dt){

     $("#resText").html(dt);

     });

         

         $.post("demo1.jsp",{"username":$("#username").val(),"content":$("#content").val()},function(dt){

             $("#resText").html(dt);

         });

         

      });

    });

    Xml:

     xml格式的数据:数据要求很严格:第一个行必须是指定的内容

    $(function(){

      $("#send").click(function(){

     $.post("demo2.jsp",{"username":$("#username").val(),"content":$("#content").val()},function(dt){

             //alert(dt);

             var um=$(dt).find("comments comment").attr("username");

             var up=$(dt).find("comments content").text();

             $("#resText").html(um+up);

         });   

      });

    });

    Json:

    $(function(){

    $("#send").click(function(){

    $.post("demo3.jsp",{"username":$("#username").val(),"content":$("#content").val()},function(dt){

            //alert(dt);

            //var dd=eval("("+dt+")");

            //$("#resText").html(dd.username+dd.content);

            //PS:有的时候虽然我们明确说明返回来的是JSON格式的字符串.但是在执行alert(dt)的时候看到的不是对象,意味着没有正确转换为JSON对象,我们只需要手动转换一下即可.  

    var dd=eval("("+dt+")");    

            $("#resText").html(dt.username+" "+dt.content);

         },"json");

      });

    });

    5.3Ajax

    $(function(){ * $.ajax({url:'',data:{},type:'',dataType:'json',success:function(dt){},error:function(){}});

     *  $.ajaxJQueryajax最底层的一个包装,之前的loadpost,get都可以用.ajax方法来实现

    $("#send").click(function(){

        $.ajax({

           url:"demo.jsp",

    data:{"username":$("#username").val(),"content":$("#content").val()},

           type:"post",

           dateType:"json",

           success:function(dt){

              //alert(dt);

              var dd=eval("("+dt+")");

              $("#resText").html(dd.username+""+dd.content);

              

           },

           error:function(){}

        });

    });

    })

    六、JQuery插件开发

    JQuery的方法有2,一种是类级别的,一种是对象级别的

    类级别的方法: $.post();  $.get();

    对象级别的方法: $("#id").html();  $(".aa").css("background","red");

    那么对应的插件开发也有2,分别为类级别的插件开发和对象级别的插件开发.

    如果在开发中你遇到了百年不遇的问题,需要你自己实现插件,参考文档:JQuery插件开发

    面试:

      你用过JQuery?

       必须的了.几乎90%的项目中都用到了.

      那么你用过哪些JQuery插件呢?

       jquery.validate.js  jquery.zTree.js

       jquery.date_input.js jquery.jUploader.js

       jquery.zoom.js  

       EasyUI中的各种小插件

    (function($){

      //扩展JQuery对象级别的方法

      $.fn.max=function(a,b){

      if(a>b){

    return a;

    }else{

    return b;

    }

      }

      $.fn.notice=function(arg){

      alert("notice:"+arg);

      }

    })(jQuery);

    七、JQuery常用API拓展

    Trim:

    var str="  abc  ";

    alert("@"+str+"@");

    var str2=$.trim(str);

    alert("@"+str2+"@");

    var arr=[100,200,300];

    Each:

    //JQuery为我们提供的非常方便的遍历数组和节点的方法

    $.each(arr,function(index,obj){

       alert(index+" "+obj);

    });

    ParseJson:

    $(function(){

      $("button").click(function(){

         $.post("test.jsp",{},function(dt){

            //JQuery的方式转换JSON字符串,必须保证JSON字符串的格式是

            //标准的JSON格式的字符串,所有的键都要用引号括起来

            var dd=$.parseJSON(dt);

            alert(dd.result+dd.msg);

         });

      });

    });

    First:

    $(function(){

       //$("ul li:eq(0)");

       alert($("li").first().text());

       alert($("li").last().text());

    });

     

    $.trim(); $.each()  $.parseJSON();

    $.find();  $.children();  

    $dm.first(); $dm.last(); $dm.slice(start,end);

    alert($.inArray(300,arr));

    var lis=$("li").toArray();

    八、插件的使用

    8.1验证插件:

    1.页面加载完毕

     * 2.获取#commentForm,调用其validate方法,传递入一个对象

     * 3.validate函数内的对象内放置4个键值对,

     *   键的名字分别为rules,messages,errorElementsuccess

     *    rulesmessages对应的值均为一个对象

     *    errorElement对应的为一个字符串"em" errorElement:'em',代表出错时提示的标签,

     *       可以更换为其他标签,但是对应的样式也必须修改

     *    success对应的为一个函数   

     *      success: function(label) {

     *//label指向上面那个错误提示信息标签em

     *label.text(" ")//清空错误提示消息

     *.addClass("success");//加上自定义的success

     *}   

     * 4.rules对应的值对象的内部也是多个键值对

     *      username:{required: true,minlength: 2},

     *email:{required: true,email: true},

     *url:"url",

     *comment: "required"

     * 5.messages对应的值对象内部也为多个键值对

     *   eg:

     *          username: {required: '请输入姓名',minlength: '请至少输入两个字符'},

     *email:{required: '请输入电子邮件',email: '请检查电子邮件的格式'},

     *url: '请检查网址的格式',

     *comment: '请输入您的评论'

     *

     *      这个版本为validate插件最终的版本,实现了内容和行为分离,自定义规则的实现

     *

     */  

     $(function(){

        $("#commentForm").validate({

           rules:{

             username:{required: true,minlength: 2},

      email:{required: true,email: true},

      url:"url",

      comment: "required"},

           messages:{

             username: {required: '请输入姓名',minlength: '请至少输入两个字符'},

     email:{required: '请输入电子邮件',email: '请检查电子邮件的格式'},

     url: '请检查网址的格式',

     comment: '请输入您的评论'

           },

           errorElement:"em",

           success:function(label){

           //清空错误提示消息

           label.text(" ")

      .addClass("success");//加上自定义的success

           }

        });

     });

     

  • 相关阅读:
    李洪强经典面试题27
    李洪强经典面试题26(选择题)
    java中InputStream String
    [Android]Android5.0实现静默接听电话功能
    Please verify that your device’s clock is properly set, and that your signing certificate is not exp
    CentOS7虚拟机桥接设置及问题
    GuozhongCrawler系列教程 (5) TransactionRequest具体解释
    js之substr和substring的差别
    hdu 3549 Flow Problem
    JSP与HTML的差别
  • 原文地址:https://www.cnblogs.com/duan2/p/7899928.html
Copyright © 2011-2022 走看看