• 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】


    一、JQuery中样式的操作

      1.给id=mover的div采用属性增加样式.one

    $("#b1").click(function(){
                 $("#mover").attr("class","one");
             });

      2.给span块使用addClass增加样式.one

    $("#b2").click(function(){
                 $("span").addClass("one");
             });

      3.给id=mover的div块使用removeClass移除.one样式

    $("#b3").click(function(){
                 $("#mover").removeClass("one");
             });

      4.id=mover的div块切换样式.one:切换样式是原有样式和添加新样式之间进行切换,并非是在添加两个新样式之后在两个新样式之间进行切换。

    $("#b4").click(function(){
                 $("#mover").toggleClass("one");
             });

      5.判断span元素是否有spanone样式

     $("#b5").click(function(){
             var result=$("span").first().hasClass("spanone");
             alert(result);
         });

      6.完整代码

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     2 <html>
     3   <head>
     4     <title>ddd</title>
     5     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     6         <script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
     7     <style type="text/css">
     8            .one{
     9                 width: 200px;
    10                 height: 140px;
    11                 margin: 40px;
    12                 background: red;
    13                 border: #000 1px solid;
    14                 float:left;
    15                 font-size: 17px;
    16                 font-family:Roman;
    17             }
    18         
    19              div,span{
    20                 width: 140px;
    21                 height: 140px;
    22                 margin: 20px;
    23                 background: #9999CC;
    24                 border: #000 1px solid;
    25                 float:left;
    26                 font-size: 17px;
    27                 font-family:Roman;
    28             }
    29             
    30             /* div.mini{
    31                  30px;
    32                 height: 30px;
    33                 background: #CC66FF;
    34                 border: #000 1px solid;
    35                 font-size: 12px;
    36                 font-family:Roman;
    37             } */
    38      </style>
    39      <!--引入jquery的js库-->
    40     </head>
    41     <body>
    42          <input type="button" value="给id=mover的div采用属性增加样式.one"  id="b1"/>
    43          <input type="button" value=" 给span块使用addClass增加样式.one"  id="b2"/>
    44          <input type="button" value="给id=mover的div块使用removeClass移除.one样式"  id="b3"/>
    45          <input type="button" value=" id=mover的div块切换样式.one"  id="b4"/>
    46          <input type="button" value=" hasClass:判断span元素是否有spanone元素"  id="b5"/>
    47         
    48  
    49          <h1>天气冷了</h1>
    50          <h2>天气又冷了</h2>
    51          
    52        
    53         
    54         <br>
    55         <div id="mover">
    56                动画
    57         </div>
    58         <br>
    59         <span class="spanone">    span
    60         </span>
    61         
    62     </body>
    63     <script type="text/javascript">
    64      //<input type="button" value="给id=mover的div采用属性增加样式.one"  id="b1"/>
    65          $("#b1").click(function(){
    66              $("#mover").attr("class","one");
    67          });
    68      //<input type="button" value=" 给span块使用addClass增加样式.one"  id="b2"/>
    69          $("#b2").click(function(){
    70              $("span").addClass("one");
    71          });
    72      
    73      //<input type="button" value="给id=mover的div块使用removeClass移除.one样式"  id="b3"/>
    74          $("#b3").click(function(){
    75              $("#mover").removeClass("one");
    76          });
    77      
    78      //<input type="button" value=" id=mover的div块切换样式.one"  id="b4"/>
    79          $("#b4").click(function(){
    80              $("#mover").toggleClass("one");
    81          });
    82      
    83      //<input type="button" value=" hasClass:判断span元素是否有spanone样式"  id="b5"/>
    84      $("#b5").click(function(){
    85          var result=$("span").first().hasClass("spanone");
    86          alert(result);
    87      });
    88     </script>
    89 </html>
    CSS_CRUD.html

    二、JQuery中的Ajax操作

      1.JQuery对Ajax操作进行了封装,第一层封装是$.ajax(),第二层封装是load(),$.get(),$.post(),第三层封装是$.getScript(),$.getJSON()。

      2.load()方法:载入远程HTML文件代码,并插入到DOM中。

        (1)调用形式:load(url,[data],[callback]);

        (2)参数说明:

            url:请求的网址

            data:浏览器请求的数据

            callback:回调函数,有三个参数:代表请求返回内容的data、代表请求状态的textStatus对象(其值可能是success/error/notmodify/timeout四种中的其中一种)以及XMLHttpRequest对象

        (3)使用细节:如果只想加载目标HTML中的其中一部分,则需要选择器进行筛选,使用方法:url空格selector;该方法若客户端有参数传递则使用POST方法请求,否则使用GET方式请求。

        (4)使用案例:

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     2 <html>
     3     <head>
     4         <title>ddd</title>
     5         <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     6         <script language="JavaScript" src="../js/jquery-1.4.2.js">
     7         </script>
     8         <style type="text/css">
     9             div, span {
    10                 width: 140px;
    11                 height: 140px;
    12                 margin: 20px;
    13                 background: #9999CC;
    14                 border: #000 1px solid;
    15                 float: left;
    16                 font-size: 17px;
    17                 font-family: Roman;
    18             }
    19             
    20             div.mini {
    21                 width: 30px;
    22                 height: 30px;
    23                 background: #CC66FF;
    24                 border: #000 1px solid;
    25                 font-size: 12px;
    26                 font-family: Roman;
    27             }
    28             
    29             div.visible {
    30                 display: none;
    31             }
    32         </style>
    33         <!--引入jquery的js库-->
    34     </head>
    35     <body>
    36         <form action="" name="form1" id="form1">
    37             <input type="text" name="username" id="username" value="zhang">
    38             <br>
    39             <input type="text" name="psw" id="psw" value="99999">
    40             <br>
    41             <input type="button" id="b1" value="登陆">
    42         </form>
    43         <div id="one">
    44         </div>
    45     </body>
    46      <script type="text/javascript">
    47          $("#b1").click(function(){
    48              var username=$("#username").val();
    49              var psw=$("#psw").val();
    50              $("#one").load("./load01.jsp","username="+username+"&psw="+psw,function(data,textStatus,xmlHttpRequest){
    51                  alert(data);
    52                  alert(textStatus);
    53                  alert(xmlHttpRequest);
    54              });
    55          });
    56      </script>
    57 </html>
    load01.html
    1 <%@ page language="java" pageEncoding="UTF-8"%>
    2 <%
    3     System.out.println("有新的请求消息!");
    4     String username=request.getParameter("username");
    5     String psw=request.getParameter("psw");
    6     System.out.println("用户名:"+username);
    7     System.out.println("密码:"+psw);
    8     out.println("你好,客户端!");
    9 %>
    load01.jsp

          两个文件在同一个目录下。

        运行结果:

        

        

      3.$.get()方法:这是一个简单的GET请求功能以取代复杂的$.ajax,请求成功的时候调用回调函数,如果请求失败的时候需要调用函数则使用$.ajax

        (1)格式:jQuery.get(url,[data],[callback],[type]),返回值是XMLHttpRequest

            参数说明:url:请求的URL地址

                  data:请求的参数,可以使用json格式的数据

                  callback:回调函数,格式见load()

                  type:返回内容格式,可能是[xml/html/script/json/text/_default]中的其中一种。

        (2)回调函数格式:function(data,textStatus),也就是说,回调函数只有两个参数,和上面的load方法中的四种参数不同。

        (3)案例:

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     2 <html>
     3   <head>
     4     <title>ddd</title>
     5     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     6     <script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
     7     <style type="text/css">
     8              div,span{
     9                 width: 140px;
    10                 height: 140px;
    11                 margin: 20px;
    12                 background: #9999CC;
    13                 border: #000 1px solid;
    14                 float:left;
    15                 font-size: 17px;
    16                 font-family:Roman;
    17             }
    18             
    19             div.mini{
    20                 width: 30px;
    21                 height: 30px;
    22                 background: #CC66FF;
    23                 border: #000 1px solid;
    24                 font-size: 12px;
    25                 font-family:Roman;
    26             }
    27             
    28             div.visible{
    29                 display:none;
    30             }
    31      </style>
    32      <!--引入jquery的js库-->
    33     
    34     </head>
    35      
    36     <body>
    37         <form action="" name="form1" id="form1">
    38             <input type="text" name="username" id="username" value="zhang"><br>
    39             <input type="text" name="psw" id="psw" value="99999"><br>
    40             <input type="button" id="b1" value="登陆">
    41         </form>
    42         
    43         <div id="one">
    44         </div>
    45         
    46     </body>
    47     <script type="text/javascript">
    48         $("#b1").click(function(){
    49             var username=$("#username").val();
    50             var password=$("#psw").val();
    51             var xmlHttpRequest=$.get("./get.jsp","username="+username+"&password="+password+"",function(data,textStatus){
    52                 alert(data);
    53                 alert(textStatus);
    54             });
    55             alert(xmlHttpRequest);
    56         });
    57     </script>
    58 </html>
    get.html
     1 <%@ page language="java" pageEncoding="UTF-8"%>
     2 <%
     3     System.out.println("有新的请求消息!");
     4     String username=request.getParameter("username");
     5     String password=request.getParameter("password");
     6     System.out.println(request.getMethod());
     7     System.out.println("用户名:"+username);
     8     System.out.println("密码:"+password);
     9     out.println("你好,客户端!");
    10 %>
    get.jsp

    两个文件在同一个目录中

        

        

      4$.post()方法:用法和$.get方法完全相同,但是使用的请求方式是POST。

      5.序列化元素

        (1)简介:JQuery为准备“发送到服务器的key/value数据”,提供了一个简化的方法:serialize(),该方法用于一个JQuery对象,能将DOM元素内容序列化为字符串,用于Ajax请求。

        (2)使用方法:selector.serialize()。

        (3)使用serialize()方法可以自动完成对参数的url编码。

        (4)案例:对之前的GET请求方式稍作修改

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     2 <html>
     3   <head>
     4     <title>ddd</title>
     5     <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     6     <script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
     7     <style type="text/css">
     8              div,span{
     9                 width: 140px;
    10                 height: 140px;
    11                 margin: 20px;
    12                 background: #9999CC;
    13                 border: #000 1px solid;
    14                 float:left;
    15                 font-size: 17px;
    16                 font-family:Roman;
    17             }
    18             
    19             div.mini{
    20                 width: 30px;
    21                 height: 30px;
    22                 background: #CC66FF;
    23                 border: #000 1px solid;
    24                 font-size: 12px;
    25                 font-family:Roman;
    26             }
    27             
    28             div.visible{
    29                 display:none;
    30             }
    31      </style>
    32      <!--引入jquery的js库-->
    33     
    34     </head>
    35      
    36     <body>
    37         <form action="" name="form1" id="form1">
    38             <input type="text" name="username" id="username" value="zhang"><br>
    39             <input type="text" name="psw" id="psw" value="99999"><br>
    40             <input type="button" id="b1" value="登陆">
    41         </form>
    42         
    43         <div id="one">
    44         </div>
    45         
    46     </body>
    47     <script type="text/javascript">
    48         $("#b1").click(function(){
    49             /* var username=$("#username").val();
    50             var password=$("#psw").val(); */
    51             var xmlHttpRequest=$.post("./get.jsp",$("#form1").serialize(),function(data,textStatus){
    52                 alert(data);
    53                 alert(textStatus);
    54             });
    55             alert(xmlHttpRequest);
    56         });
    57     </script>
    58 </html>
    Serialize_Demo.html
     1 <%@ page language="java" pageEncoding="UTF-8"%>
     2 <%
     3     System.out.println("有新的请求消息!");
     4     String username=request.getParameter("username");
     5     String password=request.getParameter("psw");
     6     System.out.println(request.getMethod());
     7     System.out.println("用户名:"+username);
     8     System.out.println("密码:"+password);
     9     out.println("你好,客户端!");
    10 %>
    get.jsp

        注意,这里已经换成了POST的请求方式。

        封装好的数据发送到服务器端的时候服务器使用表单中给的name属性获取表单中的值。

    三、JQuery中的XML操作

      1.JQuery中可以使用$.get()或者$.post()方法来加载xml。

      2.JQuery解析XML和解析DOM一样同样可以使用find(),children(),等函数来解析和使用each()方法来进行遍历

      3.JQuery小练习:二级菜单联动

     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     2 <html>
     3   <head>
     4     <title>test01.html</title>
     5     <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
     6     <script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
     7   </head>
     8   <body>
     9      <select id="province" name="province">
    10        <option value="">请选择....</option>
    11      </select>
    12      <select id="city" name="city">
    13          <option value="">请选择.....</option>
    14         <option value="铁岭">铁岭</option>
    15      </select>
    16   </body> 
    17     <script type="text/javascript">
    18         $().ready(function(){
    19             //页面载入的时候加载第一级菜单
    20             $.get("cities.xml",function(xml){
    21                 $xml=$(xml);
    22                 $children=$xml.find("province");
    23                 $children.each(function(index,domEle){
    24                     $city=$("<option></option>");
    25                     $city.val($(domEle).attr("name"));
    26                     $city.text($(domEle).attr("name"));
    27                     $("#province").append($city);
    28                 });
    29             });
    30         });
    31         $("#province").change(function(){
    32             $("#city option:gt(0)").remove();
    33             $val=$("#province").val();
    34             $.get("cities.xml",function(xml){
    35                 $xml=$(xml);
    36                 $children=$xml.find("province");
    37                 $children.each(function(index,domEle){
    38                     $province_name=$(domEle).attr("name");
    39                     if($val==$province_name){
    40                         //接下来遍历该省份中的city
    41                         $(domEle).children().each(function(index,cityDom){
    42                             var $city_name=$(cityDom).text();
    43                             var $city=$("<option></option>");
    44                             $city.val($city_name);
    45                             $city.text($city_name);
    46                             $("#city").append($city);
    47                         });
    48                         return;
    49                     }
    50                 });
    51             });
    52         });
    53     </script>
    54 </html>
    city.html
     1 <?xml version="1.0" encoding="GB2312"?>
     2 <china>
     3     <province name="吉林省">
     4         <city>长春</city>
     5         <city>吉林市</city>
     6         <city>四平</city>
     7         <city>松原</city>
     8         <city>通化</city>
     9     </province>
    10     <province name="辽宁省">
    11         <city>沈阳</city>
    12         <city>大连</city>
    13         <city>鞍山</city>
    14         <city>抚顺</city>
    15         <city>铁岭</city>
    16     </province>
    17     <province name="山东省">
    18         <city>济南</city>
    19         <city>青岛</city>
    20         <city>威海</city>
    21         <city>烟台</city>
    22         <city>潍坊</city>
    23     </province>
    24 </china>    
    cities.xml

      运行结果:

        

      4.小知识点:使用remove方法删除select下的指定option选项。  

  • 相关阅读:
    1.18
    人月神话读后感
    疯狂学java的第45天
    学Java的第46天
    JAVA学习日记150720
    JAVA学习日记140719
    JAVA学习日记160721
    JAVA学习日记130718
    Windows DOS窗体下Oracle 数据库的导入导出(IMP/EXP)命令
    IntelliJ IDEA自动清除没用的import
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/4779868.html
Copyright © 2020-2023  润新知