js+ajax+jquery(3)(jquery选择器,方法和事件实例)

jQuery是什么

    John Resig在2006年1月发布的一款跨主流浏览器的JavaScript库,简化JavaScript对HTML操作

为什么要使用jQuery

   (1)写少代码,做多事情【write less do more】
   (2)免费,开源且轻量级的js库,容量很小
        注意:项目中,提倡引用min版的js库
   (3)兼容市面上主流浏览器,例如 IE,Firefox,Chrome
        注意:jQuery不是将所有JS全部封装,只是有选择的封装
   (4)能够处理HTML/JSP/XML、CSS、DOM、事件、实现动画效果,也能提供异步AJAX功能
   (5)文档手册很全,很详细
   (6)成熟的插件可供选择
   (7)提倡对主要的html标签提供一个id属性,但不是必须的
   (8)出错后,有一定的提示信息
   (9)不用再在html里面通过<script>标签插入一大堆js来调用命令了

jQuery开发步骤

(可以使用迷你版本的js库,即去掉注释和换行,这样会小很多)

   (1)引用第三方js库文件,<script type="text/javascript" src="js/jquery-1.8.2.js"></script>2)查阅并使用api手册,$("#divID").html()/val()/text()/css("color","red")/....

 比如

//var divElement = document.getElementById("divID");
var $div = $("#divID");
//var html = divElement.innerHTML;
var html = $div.html();
alert(html);

实例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jQuery入门</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <input id="inputID" type="button" value="这就是jQuery库,写少代码,做多事情"/>
    
    <div id="divID">哈哈哈</div>
    
    <script type="text/javascript">
        
        //取得<input>标签中的value属性的内容
        
        /*js方式
        var inputElement = document.getElementById("inputID");
        var input = inputElement.value;
        alert(input);*/
        
        /*jquery方式
        var $input = $("#inputID");
        var input = $input.val();
        alert(input);*/
        
        //取得<div>标签中的文本内容
        
        /*js方式
        var divElement = document.getElementById("divID");
        var div = divElement.innerHTML;
        alert(div);*/
        
        //jquery方式
        var $div = $("#divID");
        var div = $div.html();
        alert(div);
        
    </script>
  
  </body>
</html>
 
View Code

js对象和jQuery对象相互转换

(1)什么是js对象及代码规则

就是使用js-API,即Node接口中的API或是传统JS语法定义的对象,叫做js对象
js代码规则----divElement
 var divElement = document.getElementById("divID");
var nameArray = new Array(3);

(2)什么是jQuery对象及代码规则

        就是使用jQuery-API,返回的对象就叫做jQuery对象
        jQuery代码规则----$div
        var $div = $("#divID")
        声明:上述代码规则(变量名用美元符号$开头),只是个人习惯规则,不代表所有企业都这样做

(3)js对象转成jQuery对象【重点】

        语法:$(js对象)---->jQuery对象
        例如:$(divElement)---->$div
        例如:$(this)---->$this
注意:jQuery对象将js对象做了封装,js对象二边无引号
var inputElement = document.getElementById("inputID");//js对象 
var $input = $(inputElement);//jquery对象
var txt = $input.val();
alert(txt);

(4)jQuery对象转成js对象(有点特别:json对象是一个数组,获取的话取第一个,下标为0)

语法1:jQuery对象[下标,从0开始]
语法2:jQuery对象.get(下标,从0开始)
例如:$div[0]---->divElement

注意:不同的对象只能调用对应的api方法,即jQuery对象不能调用js对象的api,反之亦然

             $div.innerHTML(错)
             divElement.html()(错) 
var $div = $("#divID");//jquery对象
var divElement = $div[0];//js对象(方式一)
//var divElement = $div.get(0);//js对象(方式二)
var txt = divElement.innerHTML;          
alert(txt);

实例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>js对象和jquery对象的相互转换</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <input id="inputID" type="button" value="这就是jQuery库,写少代码,做多事情"/>
    
    <div id="divID">哈哈</div>
    
    <script type="text/javascript">
    
        /*取得<input>标签中的value属性的内容[js对象->jquery对象]
        var inputElement = document.getElementById("inputID");//js对象
        var $input = $( inputElement );//jquery对象
        var input = $input.val();
        alert(input);*/
        
        
        //取得<div>标签中的文本内容[jquery对象->js对象]
        var $div = $("#divID");//jquery对象
        
        //var divElement = $div.get(0);//js对象
        var divElement = $div[0];//js对象
        
        var div = divElement.innerHTML;
        alert(div);
        
    </script>
    
  </body>
</html> 
View Code

 

js对象和jQuery对象的区别

(1)js对象的三种基本定位方式

       (A)通过ID属性:document.getElementById()
       (B)通过NAME属性:document.getElementsByName()
       (C)通过标签名:document.getElementsByTagName()

(2)jQuery对象的三种基本定位方式

       (A)通过ID属性:$("#id属性值")
       (B)通过标签名:$("标签名")
       (C)通过CLASS属性:$(".类名")

(3)js对象出错的显示

没有合理的提示信息(获取不到对象,不会出现错误提示)
             例如:alert(document.getElementById("usernameIDD").value)

(4)jQuery对象出错的显示

有合理的提示信息,例如:弹出undefined
             例如:alert($("#usernameIDD").val())  

实例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>js操作与jQuery操作对错误的处理方式的比较</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <style type="text/css">
            .oneClass {
                font-size: 44px;
                color: red
            }
        </style>
        <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
    </head>
    <body>
        
        <input type="text" id="usernameID" value="这就是jQuery库" />        
        <div id="divID" class="oneClass">这是div标签中的内容</div>        
        <script type="text/javascript">       
              //通过"#id"定位<input>
              //alert( $("#usernameID").val() );
              
              //通过"标签名"定位<input><div>
              //alert( $("input").val() );
              //alert( $("div").html() );
              
              //通过"样式名"定位<div>,没有样式也可以,只是通过类名定位i
              //alert( $(".oneClass").html() );
              
              //js错误处理和jquery错误处理
              //alert( document.getElementById("usernameTD").value );
              alert( $("#usernameID").val() );              
          </script>      
    </body> 
</html>

 

 jQuery九类选择器【参见jQueryAPI.chm手册】

补充:对于选中的是数组取值,默认处理的都是首个

 

获取后代(多层次下)元素中的标签或值:

<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
    </head>
    <body>
        <form>
            <table>                
                <tr>
                    <td>
                        赵君
                    </td>
                </tr>
            </table>
        </form>
        
        <script type="text/javascript">
            //获取"赵君"(
            //alert( $("form td").text() );
            alert( $("form table tr td").text() );
        </script>
        
    </body>
</html>
View Code
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
    </head>
    <body>
        <form>
            <table>                
                <tr>
                    <td>
                        哈哈
                    </td>
                    <td>
                        赵君
                    </td>
                </tr>
                <tr>
                    <td>
                        细细
                    </td>
                </tr>
            </table>
            <table>                
                <tr>
                    <td>
                        笨笨
                    </td>
                </tr>
            </table>
        </form>
        
        <script type="text/javascript">
            //获取"赵君"
            var name = $("html body form table:first tr:first td:last").text();
            alert(name);
        </script>
        
    </body>
</html>
View Code

(1)基本选择器【参见selector_1.html】

      //1)查找ID为"div1ID"的元素个数
           alert( $("#div1ID").size() );           
      //2)查找DIV元素的个数
          alert( $("div").size() );        
      //3)查找所有样式是"myClass"的元素的个数
          alert( $(".myClass").size() );      
      //4)查找所有DIV,SPAN,P元素的个数
          alert( $("div,span,p").size() );          
      //5)查找所有ID为div1ID,CLASS为myClass,P元素的个数
          alert( $('#div1ID,.myClass,p').size() );
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
      
      <div id="div1ID">div1</div>
      <div id="div2ID">div2</div>
      <span class="myClass">span</span>
      <p>p</p>
      
      <script type="text/javascript">
      
       //1)查找ID为"div1ID"的元素个数
       //alert( $("#div1ID").size() );
       
      //2)查找DIV元素的个数
      //alert( $("div").length );
      
      //3)查找所有样式是"myClass"的元素的个数
      //alert( $(".myClass").size() );
      
      //4)查找所有DIV,SPAN,P元素的个数
      //alert( $("DIV,span,p").size() );
      
      //5)查找所有ID为div1ID,CLASS为myClass,P元素的个数
      alert( $("#div1ID,.myClass,p").size() );
      
      </script>
      
  </body>
</html>
View Code

(2)层次选择器【参见selector_2.html】

//1)找到表单form里所有的input元素的个数
    alert( $("form input").size() );        
//2)找到表单form里所有的子级input元素个数
    alert( $("form > input").size() );
//3)找到表单form同级第一个input元素的value属性值
     alert( $("form + input").val() );
//4)找到所有与表单form同级的input元素个数(是以form为基准往下)
    alert( $("form ~ input").size() );
 <html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    <!-- 
    <input type="radio" value="z"/>
    <input type="radio" value="e"/>
    <input type="radio" value="y"/>
    -->
    <form>
        <input type="text" value="a"/>        
        <table>
            <tr>
                <td>
                    <input type="checkbox" value="b"/>
                </td>
            </tr>            
        </table>
    </form>
    <input type="radio" value="ccccccccc"/>
    <input type="radio" value="d"/>
    <input type="radio" value="e"/>
    <script type="text/javascript">
    
    //1)找到表单form里所有的input元素的个数
    //alert( $("form input").size() );
    
      //2)找到表单form里所有的子级input元素个数
      //alert( $("form>input").size() );
      
      //3)找到表单form同级第一个input元素的value属性值
      //alert( $("form+input").val() );
      
      //4)找到所有与表单form同级的input元素个数
      alert( $("form~input").size() );
      
    </script>
  </body>
</html>
View Code

(3)增强基本选择器【参见selector_3.html】

补充:

//html()要用于html/jsp,不能用在xml
//text()既能用于html/jsp,且能用于xml
//html():强调的是标签中的内容,即便标签中的子标签,也会显示出来
//text():强调的是标签中的文本内容,即便标签中的子标签,也只会显示出文本内容,不会显示子标签

比如:

          //1)查找UL中第一个元素的内容
            alert( $("ul li:first").text() );
          //2)查找UL中最后个元素的内容
            alert( $("ul li:last").text() );
          //4)查找表格的索引号为1、3、5...奇数行个数,索引号从0开始
            alert( $("table tr:odd").size() );
          //5)查找表格的索引号为2、4、6...偶数行个数,索引号从0开始
            alert( $("table tr:even").size() );
          //6)查找表格中第二行的内容,从索引号0开始,这是一种祖先 后代 的变化形式
              alert( $("table tr td:eq(1)").text() );
          //7)查找表格中第二第三行。。。之后的个数,即索引值是1和2,也就是比0大
            alert( $("table tr:gt(0)").size() );
          //8)查找表格中第一第二行的个数,即索引值是0和1,也就是比2小
            alert( $("table tr:lt(2)").size() );
          //9)给页面内所有标题<h1><h2><h3>加上红色背景色,且文字加蓝色(header这是一个特殊属性针对<h>标签)
            $(":header").css("background-color","red").css("color","blue");            
          //3)查找所有选中的input为checkbox的元素个数(选取表单元素标签,都有特殊的属性对应,比如checkbox,以及该标签的属性也有专门对于的属性checked)
            alert( $(":checkbox:NOT(:checked)").size() );

实例:

<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <ul>
        <li>list item 1</li>
        <li>list item 2</li>
        <li>list item 3</li>
        <li>list item 4</li>
        <li>list item 5</li>
    </ul>
    
    <input type="checkbox" checked/>
    <input type="checkbox" checked/>
    <input type="checkbox"/>
    
    <table border="1">
      <tr><td>line1[0]</td></tr>
      <tr><td>line2[1]</td></tr>
      <tr><td>line3[2]</td></tr>
      <tr><td>line4[3]</td></tr>
      <tr><td>line5[4]</td></tr>
      <tr><td>line6[5]</td></tr>
    </table>    
    
    <h1>h1</h1>
    <h2>h2</h2> 
    <h3>h3</h3>
    
    <p>p</p>
    
    
    <script type="text/javascript">
        //1)查找UL中第一个LI元素的内容
            //html()要用于html/jsp,不能用在xml
            //text()既能用于html/jsp,且能用于xml
            //alert( $("ul li:first").text() );
        
          //2)查找UL中最后个元素的内容
              //alert( $("ul li:last").text() );
          
          //4)查找表格的索引号为1、3、5...奇数行个数,索引号从0开始
              //alert( $("table tr:odd").size() );
          
          //5)查找表格的索引号为2、4、6...偶数行个数,索引号从0开始
              //alert( $("table tr:even").size() );
          
          //6)查找表格中第二行的内容,从索引号0开始,这是一种祖先 后代 的变化形式
              //html():强调的是标签中的内容,即便标签中的子标签,也会显示出来
              //text():强调的是标签中的文本内容,即便标签中的子标签,也只会显示出文本内容,不会显示子标签
              //alert( $("table tr:eq(1)").text() );
          
          //7)查找表格中第二第三行的个数,即索引值是1和2,也就是比0大
              //alert( $("table tr:gt(0)").size() );
          
          //8)查找表格中第一第二行的个数,即索引值是0和1,也就是比2小
              //alert( $("table tr:lt(3)").size() );
          
          //9)给页面内所有标题<h1><h2><h3>加上红色背景色,且文字加蓝色
              //$(":header").css("background-color","red").css("color","#ffff33");
          
          //3)查找所有[未]选中的input为checkbox的元素个数
            alert( $(":checkbox:not(:checked)").size() );
            
    </script>
    
  </body>
</html>
View Code

(4)内容选择器【参见selector_4.html】

          //1)查找所有包含文本"John"的div元素的个数
            alert( $("div:contains('John')").size() );            
          //2)查找所有p元素为空的元素个数
              alert( $("p:empty").size() );          
          //3)给所有包含p元素的div元素添加一个myClass样式(该样式已经被定义了,或者是为别的标签定义的)
              $("div:has(p)").addClass("myClass");          
          //4)查找所有含有子元素或者文本的p元素个数,即p为父元素(p标签必须包含内容或者其他标签才算是父标签
alert( $("p:parent").size() );
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
    <style type="text/css">
        .myClass{
            font-size:44px;
            color:blue
        }
    </style>
  </head>
  <body>
    
    <div><p>John Resig</p></div>
    <div><p>George Martin</p></div>
    <div>Malcom John Sinclair</div>
    <div>J. Ohn</div>
    <div></div>

    <p></p>
    <p></p>
    
    <script type="text/javascript">
    
        //1)查找所有包含文本"John"的div元素的个数
            //alert( $("div:contains('John')").size() );
        
          //2)查找所有p元素为空的元素个数
              //alert( $("p:empty").size() );
          
          //3)给所有包含p元素的div元素添加一个myClass样式
              //$("div:has(p)").addClass("myClass");
          
          //4)查找所有含有子元素或者文本的p元素个数,即p为父元素
              alert( $("p:parent").size() );
              
    </script>
  </body>
</html>
View Code

 (5)可见性选择器(查找隐藏/显示的标签:(表示隐藏:style="display:none")

         //1)查找隐藏的tr元素的个数
           //alert( $("table tr:hidden").size() );        
         //2)查找所有可见的tr元素的个数
           //alert( $("table tr:NOT(:hidden)").size() );
             alert( $("table tr:visible").size() );//提倡
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <table border="1" align="center">
      <tr style="display:none">
          <td>Value 1</td>
      </tr>
      <tr>
          <td>Value 2</td>
      </tr>
      <tr>
          <td>Value 3</td>
      </tr>
    </table>
    
    <script type="text/javascript">
        //1)查找隐藏的tr元素的个数
        //alert( $("table tr:hidden").size() );
        
          //2)查找所有可见的tr元素的个数
        //alert( $("table tr:NOT(:hidden)").size() );
        alert( $("table tr:visible").size() );//提倡
    </script>
    
  </body>
</html> 
View Code

(6)属性选择器

          //1)查找所有含有id属性的div元素个数
             //alert( $('div[id]').size() );            
          //2)查找所有name属性是newsletter的input元素,并将其选中
//$("input[name='newsletter']").attr("checked","checked");
//3)查找所有name属性不是newsletter的input元素,并将其选中
//$("input[name!='newsletter']").attr("checked","true");
//4)查找所有name属性以'news'开头的input元素,并将其选中
//$("input[name^='news']").attr("checked","checked");
//5)查找所有name属性以'letter'结尾的input元素,并将其选中
//$("input[name$='letter']").attr("checked","checked");
//6)查找所有name属性包含'news'的input元素,并将其选中
//$("input[name*='news']").attr("checked","checked");
//7)找到所有含有id属性,并且它的name属性是以"letter"结尾的input元素,并将其选中 $("input[id][name$='letter']").attr("checked","true");
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <div>
      <p>Hello!</p>
    </div>
    <div id="test2"></div>
    
    <input type="checkbox" name="newsletter" value="Hot Fuzz"/>
    <input id="myID" type="checkbox" name="newsletter" value="Cold Fusion" />
    <input type="checkbox" name="newsaccept" value="Evil Plans" />
    
    <!-- 
    <input type="checkbox" name="letternews" value="Hot Fuzz"/>
    <input id="myID" type="checkbox" name="letnewster" value="Cold Fusion" />
    <input type="checkbox" name="accNEWSept" value="Evil Plans" />
    -->
    
    <script type="text/javascript">
    
        //1)查找所有含有id属性的div元素个数
        //alert( $('div[id]').size() );
            
         //2)查找所有name属性是newsletter的input元素,并将其选中
        //$("input[name='newsletter']").attr("checked","checked");
         
          //3)查找所有name属性不是newsletter的input元素,并将其选中
        //$("input[name!='newsletter']").attr("checked","true");
        /*
            请问:在JS中如下符号表示什么意思
            1)=/==/===
            2)!=/!==
            明天讲解
         */
          //4)查找所有name属性以'news'开头的input元素,并将其选中
        //$("input[name^='news']").attr("checked","checked");
                  
          //5)查找所有name属性以'letter'结尾的input元素,并将其选中
          //$("input[name$='letter']").attr("checked","checked");
          
          //6)查找所有name属性包含'news'的input元素,并将其选中
        //$("input[name*='news']").attr("checked","checked");
          
          //7)找到所有含有id属性,并且它的name属性是以"letter"结尾的input元素,并将其选中
          $("input[id][name$='letter']").attr("checked","true");
          
    </script>
    
  </body>
</html>
View Code

(7)(每组中父标签的子标签)子元素选择器

下面这种方式取第几个,索引从1开始,不像eq()是从0开始的
     /*1)迭代[each]每个ul中第1个li元素中的内容,索引从1开始
        $("ul li:first-child").each(function(){
            alert( $(this).text() );
        });
        */
            
         /*2)迭代每个ul中最后1个li元素中的内容,索引从1开始
        $("ul li:last-child").each(function(){
            alert( $(this).text() );
        });
        */
         
        /*4)迭代每个ul中第2个li元素中的内容,索引从1开始
        $("ul li:nth-child(2)").each(function(){
            alert( $(this).text() );
        });*/
    
         //3)在ul中查找是唯一子元素的li元素的内容
         $("ul li:only-child").each(function(){
             alert( $(this).text() );
         });
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <ul>
      <li>John</li>
      <li>Karl</li>
      <li>Brandon</li>
    </ul>
    
    <ul>
      <li>Glen</li>
      <li>Tane</li>
      <li>Ralph</li>
    </ul>
    
    <ul>
      <li>Marry</li>
    </ul>

    <ul>
      <li>Jack</li>
    </ul>
    
    
    <script type="text/javascript">
    
        /*1)迭代[each]每个ul中第1个li元素中的内容,索引从1开始
        $("ul li:first-child").each(function(){
            alert( $(this).text() );
        });
        */
            
         /*2)迭代每个ul中最后1个li元素中的内容,索引从1开始
        $("ul li:last-child").each(function(){
            alert( $(this).text() );
        });
        */
         
        /*4)迭代每个ul中第2个li元素中的内容,索引从1开始
        $("ul li:nth-child(2)").each(function(){
            alert( $(this).text() );
        });*/
    
         //3)在ul中查找是唯一子元素的li元素的内容
         $("ul li:only-child").each(function(){
             alert( $(this).text() );
         });
        
        
        
    </script>
  </body>
</html>
View Code

(8)表单选择器

          //1)查找所有input元素的个数
          //alert( $("input").size() );//10,找input标签
          //alert( $(":input").size() );//13,找input标签和select/textarea/button
            
          //2)查找所有文本框的个数
          //alert( $(":text").size() );
          
          //3)查找所有密码框的个数
          //alert( $(":password").size() );
          
          //4)查找所有单选按钮的个数
          //alert( $(":radio").size() );
          
          //5)查找所有复选框的个数
          //alert( $(":checkbox").size() );
          
          //6)查找所有提交按钮的个数
          //alert( $(":submit").size() );
          
          //7)匹配所有图像域的个数
          //alert( $(":images").size() );
          
          //8)查找所有重置按钮的个数
          //alert( $(":reset").size() );
          
          //9)查找所有普通按钮的个数
          //alert( $(":button").size() );
          
         //10)查找所有文件域的个数
         //alert( $(":file").size() );
         
         //11)查找所有input元素为隐藏域的个数
         //alert( $(":input:hidden").size() );
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    <form>
        <input type="button" value="Input Button"/><br/>
        <input type="checkbox" /><br/>
        <input type="file" /><br/>
        <input type="hidden" name="id" value="123"/><br/>
        <input type="image" src="../images/lb.jpg" width="25px" height="25px"/><br/>
        <input type="password" /><br/>
        <input type="radio" /><br/>
        <input type="reset" /><br/>
        <input type="submit" /><br/>
        <input type="text" /><br/>
        <select><option>Option</option></select><br/>
        <textarea></textarea><br/>
        <button>Button</button><br/>
    </form>
    
    <script type="text/javascript">
    
        //1)查找所有input元素的个数
        //alert( $("input").size() );//10,找input标签
        //alert( $(":input").size() );//13,找input标签和select/textarea/button
            
          //2)查找所有文本框的个数
          //alert( $(":text").size() );
          
          //3)查找所有密码框的个数
          //alert( $(":password").size() );
          
          //4)查找所有单选按钮的个数
          //alert( $(":radio").size() );
          
          //5)查找所有复选框的个数
          //alert( $(":checkbox").size() );
          
          //6)查找所有提交按钮的个数
          //alert( $(":submit").size() );
          
          //7)匹配所有图像域的个数
          //alert( $(":images").size() );
          
          //8)查找所有重置按钮的个数
          //alert( $(":reset").size() );
          
          //9)查找所有普通按钮的个数
          //alert( $(":button").size() );
          
         //10)查找所有文件域的个数
         //alert( $(":file").size() );
         
         //11)查找所有input元素为隐藏域的个数
         //alert( $(":input:hidden").size() );
         
    </script>
  </body>
</html> 
View Code

(9)表单对象属性选择器

        //1)查找所有可用的input元素的个数
        //alert( $("input:enabled").size() );
        
         //2)查找所有不可用的input元素的个数
        //alert( $("input:disabled").size() );
         
         //3)查找所有选中的复选框元素的个数
        //alert( $(":checkbox:checked").size() );
             
         //4)查找所有未选中的复选框元素的个数
        //alert( $(":checkbox:NOT(:checked)").size() );
         
         //5)查找所有选中的选项元素的个数
         //alert( $("select option:selected").size() );
         alert( $("#provinceID option:NOT(:selected)").size() );
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <form>

      <input type="text" name="email" disabled="disabled" />
      <input type="text" name="password" disabled="disabled" />
      <input type="text" name="id" />

      <input type="checkbox" name="newsletter" checked="checked" value="Daily" />
      <input type="checkbox" name="newsletter" value="Weekly" />
      <input type="checkbox" name="newsletter" checked="checked" value="Monthly" />
    
      <select id="provinceID">
          <option value="1">广东</option>
          <option value="2" selected="selected">湖南</option>
          <option value="3">湖北</option>
      </select>
        
    </form>
    
    
    
    <script type="text/javascript">
    
        //1)查找所有可用的input元素的个数
        //alert( $("input:enabled").size() );
        
         //2)查找所有不可用的input元素的个数
        //alert( $("input:disabled").size() );
         
         //3)查找所有选中的复选框元素的个数
        //alert( $(":checkbox:checked").size() );
             
         //4)查找所有未选中的复选框元素的个数
        //alert( $(":checkbox:NOT(:checked)").size() );
         
         //5)查找所有选中的选项元素的个数
         //alert( $("select option:selected").size() );
         alert( $("#provinceID option:NOT(:selected)").size() );
         
    </script>
    
  </body> 
</html>
View Code

 注意:项目中,通常是多种选择器一起使用

实例:弹出表格偶数行(0,2行)中每个表格的字段

多种方式实现:

--find("9类选择器"):查询指定的节点和多重each()迭代

//使用jquery弹出奇数的tr标签下的td里的值
var $tr = $("table tr:lt(4):even");
$tr.each(function(){
//tr中查找td标签,$(this)表示tr
var $td = $(this).find("td");
$td.each(function(){
         //$(this)表示td
         var txt = $(this).text();
alert(txt);
});
});
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
     <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
       <script type="text/javascript">
            function myclick(){
             //使用jquery弹出奇数的tr标签下的td里的值,即A1,A2,A3,C1,C2,C3
             var $tr = $("table tr:NOT(:last):even");
             //在每个tr标签中查询td标签
             $tr.each(function(){
                 //在tr标签中查询所有的td标签
                 var $td = $(this).find("td");
                 //迭代
                 $td.each(function(){
                     var content = $(this).text();
                     alert(content);
                 });
             });
         }
         //写出另一种方式,比第一种更加easy
       </script>
  </head>
  <body>
    <table border="2" align="center" width="30%">
        <tr>
            <td>A1</td><td>A2</td><td>A3</td><td>0</td>
        </tr>
        <tr>
            <td>B1</td><td>B2</td><td>B3</td><td>1</td>
        </tr>
        <tr>
            <td>C1</td><td>C2</td><td>C3</td><td>2</td>
        </tr>
        <tr>
            <td>D1</td><td>D2</td><td>D3</td><td>3</td>
        </tr>
        <tr>
            <td colspan="3" align="center">
                <input type="button" value="  测  试  " onclick="myclick()" />
            </td>
            <td>4</td>
        </tr>
    </table>
  </body>
</html>    
    
View Code
//写出另一种方式,比第一种更加easy                  
         function myclick(){
             var $td = $("table tr:NOT(:last):even td");
             $td.each(function(){
                 alert($(this).html());
             });
         }

 多个实例:

1.在多个相同标签上添加事件

          //1.定位3个p标签
          $("p").click( function(){
              alert( $(this).text() );
          } )
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>exe_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
  
      <p>段落1</p>
      <p>段落2</p>
      <p>段落3</p>
      
      <script type="text/javascript">
          //定位3个p标签
          $("p").click( function(){
              alert( $(this).text() );
          } )
      </script>
      
  </body>
</html>
View Code

2.将奇偶行设置不同颜色

        //NO1)将索引号为奇数的行背景色设为蓝色
        $("table tr:odd").css("background-color","blue");
                
        //NO2)将索引号为偶数的行背景色设为黄色
        $("table tr:even").css("background-color","yellow");

        //NO3)将第一行背景色设为粉色
        $("table tr:first").css("background-color","pink");
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>exe_2.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
      <form>
        <table border="1" align="center" width="70%">
            <tr>
                <th>用户名</th>
                <th>密码</th>
                <th>0</th>
            </tr>
            <tr>
                <td>张三</td>
                <td>123456</td>
                <th>1</th>
            </tr>
            <tr>
                <td>李四</td>
                <td>654321</td>
                <th>2</th>
            </tr>
            <tr>
                <td>王五</td>
                <td>162534</td>
                <th>3</th>
            </tr>
        </table> 
    </form>
    
    
    <script type="text/javascript">

        //NO1)将索引号为奇数的行背景色设为蓝色
        $("table tr:odd").css("background-color","blue");
                
        //NO2)将索引号为偶数的行背景色设为黄色
        $("table tr:even").css("background-color","yellow");

        //NO3)将第一行背景色设为粉色
        $("table tr:first").css("background-color","pink");
        
    </script>     
  
  </body>
</html> 
View Code

3.获取多选中选中的值

//定位"选中的个数"按钮,同时添加单击事件
        $(":button:first").click( function(){
            //获取选中的复选框个数
            var size = $(":checkbox:checked").size();    
            //判断
            if(size == 0){
                alert("这家伙太赖了");
            }else{
                alert("你选中了"+size+"个项目");
            }
        } );
        //定位"依次显示选中的value"按钮,同时添加单击事件
        $(":button:last").click( function(){
            //获取选中的复选框
            var $checkbox = $(":checkbox:checked");
            //迭代所有选中的复选框的value属性值
            $checkbox.each(function(){
                //alert( $(this).val() );//提倡
                alert( this.value );//不提倡
            });
        } );
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>exe_3.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <input type="checkbox" value="篮球"/>篮球
    <input type="checkbox" value="排球"/>排球    
    <input type="checkbox" value="羽毛球"/>羽毛球    
    <input type="checkbox" value="乒乓球"/>乒乓球
    
    <input type="button" value="选中的个数"/>
    <input type="button" value="依次显示选中的value"/>
    
    <script type="text/javascript">
        //定位"选中的个数"按钮,同时添加单击事件
        $(":button:first").click( function(){
            //获取选中的复选框个数
            var size = $(":checkbox:checked").size();    
            //判断
            if(size == 0){
                alert("这家伙太赖了");
            }else{
                alert("你选中了"+size+"个项目");
            }
        } );
        //定位"依次显示选中的value"按钮,同时添加单击事件
        $(":button:last").click( function(){
            //获取选中的复选框
            var $checkbox = $(":checkbox:checked");
            //迭代所有选中的复选框的value属性值
            $checkbox.each(function(){
                //alert( $(this).val() );//提倡
                alert( this.value );//不提倡
            });
        } );
    </script>
    
  </body>
</html>
View Code

4.将左边列表选择移动到右边列表

          //双击右移
          //定位左边的下拉框,同时添加双击事件
          $("#leftID").dblclick(function(){
              //获取双击时选中的option标签
              var $option = $("#leftID option:selected");
              //将选中的option标签移动到右边的下拉框中
              $("#rightID").append( $option );
          });
          
          //批量右移
          //定位批量右移按钮,同时添加单击事件
        $("#rightMoveID").click(function(){
            //获取左边下拉框中选中的option标签
            var $option = $("#leftID option:selected");
            //将选中的option标签移动到右边的下拉框中
              $("#rightID").append( $option );
        });          

          //全部右移
          //定位全部右移按钮,同时添加单击事件
          $("#rightMoveAllID").click(function(){
              //获取左边下拉框中所有的option标签
              var $option = $("#leftID option");
              //将选中的option标签移动到右边的下拉框中
              $("#rightID").append( $option );
          });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
      <div>    
          <select style="width:60px" multiple size="10" id="leftID">
              <option>选项A</option>
              <option>选项B</option>
              <option>选项C</option>
              <option>选项D</option>
              <option>选项E</option>
              <option>选项F</option>
              <option>选项G</option>
              <option>选项H</option>
              <option>选项I</option>
              <option>选项J</option>
          </select>
      </div>
      <div style="position:absolute;left:100px;top:60px">
          <input type="button" value="批量右移" id="rightMoveID"/>
      </div>
      <div style="position:absolute;left:100px;top:90px">
          <input type="button" value="全部右移" id="rightMoveAllID"/>
      </div>
      <div style="position:absolute;left:220px;top:20px">    
          <select multiple size="10" style="width:60px" id="rightID">
          </select>
      </div>
  </body>
  
  <script type="text/javascript">
          
          //双击右移
          //定位左边的下拉框,同时添加双击事件
          $("#leftID").dblclick(function(){
              //获取双击时选中的option标签
              var $option = $("#leftID option:selected");
              //将选中的option标签移动到右边的下拉框中
              $("#rightID").append( $option );
          });
          
          //批量右移
          //定位批量右移按钮,同时添加单击事件
        $("#rightMoveID").click(function(){
            //获取左边下拉框中选中的option标签
            var $option = $("#leftID option:selected");
            //将选中的option标签移动到右边的下拉框中
              $("#rightID").append( $option );
        });          

          //全部右移
          //定位全部右移按钮,同时添加单击事件
          $("#rightMoveAllID").click(function(){
              //获取左边下拉框中所有的option标签
              var $option = $("#leftID option");
              //将选中的option标签移动到右边的下拉框中
              $("#rightID").append( $option );
          });
          
  </script>
  
</html>
View Code

 5.添加删除标签:

//定位"增加"按钮,同时添加单击事件
          $("#addID").click(function(){
              //获取用户名和密码的值
              var username = $("#usernameID").val();
              var password = $("#passwordID").val();
              //去掉二边的空格
              username = $.trim(username);
              password = $.trim(password);
              //如果用户名或密码没有填
              if(username.length == 0 || password.length == 0){
                //提示用户                  
                  alert("用户名或密码没有填");
              }else{
                  //创建1个tr标签
                  var $tr = $("<tr></tr>");
                  //创建3个td标签
                  var $td1 = $("<td>"+username+"</td>");
                  var $td2 = $("<td>"+password+"</td>");
                  var $td3 = $("<td></td>");
                  //创建input标签,设置为删除按钮
                  var $del = $("<input type='button' value='删除'>");
                  //为删除按钮动态添加单击事件
                  $del.click(function(){
                      //删除按钮所有的行,即$tr对象
                      $tr.remove();
                  });
                  //将删除按钮添加到td3标签中
                  $td3.append($del);
                  //将3个td标签依次添加到tr标签中
                  $tr.append($td1);
                  $tr.append($td2);
                  $tr.append($td3);
                  //将tr标签添加到tbody标签中
                  $("#tbodyID").append($tr);
                  //清空用户名和密码文本框中的内容
                  $("#usernameID").val("");
                  $("#passwordID").val("");
              }
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script> 
  </head>
  <body>
      <table id="tableID" border="1" align="center" width="60%">
          <thead>
              <tr>    
                  <th>用户名</th>
                  <th>密码</th>
                  <th>操作</th>
              </tr>
          </thead>
          <tbody id="tbodyID">
              <!-- 动态增加行 
              <tr>
                  <td>哈哈</td>
                  <td>123</td>
                  <td><input type="button" value="删除" onclick=""/></td>
              </tr>
              -->
          </tbody>
      </table>
      
      <hr/>
      用户名:<input type="text" id="usernameID"/>
      密码:  <input type="text" id="passwordID"/>
              <input type="button" value="增加" id="addID"/>
              
  </body>
  
  <script type="text/javascript">
          //定位"增加"按钮,同时添加单击事件
          $("#addID").click(function(){
              //获取用户名和密码的值
              var username = $("#usernameID").val();
              var password = $("#passwordID").val();
              //去掉二边的空格
              username = $.trim(username);
              password = $.trim(password);
              //如果用户名或密码没有填
              if(username.length == 0 || password.length == 0){
                //提示用户                  
                  alert("用户名或密码没有填");
              }else{
                  //创建1个tr标签
                  var $tr = $("<tr></tr>");
                  //创建3个td标签
                  var $td1 = $("<td>"+username+"</td>");
                  var $td2 = $("<td>"+password+"</td>");
                  var $td3 = $("<td></td>");
                  //创建input标签,设置为删除按钮
                  var $del = $("<input type='button' value='删除'>");
                  //为删除按钮动态添加单击事件
                  $del.click(function(){
                      //删除按钮所有的行,即$tr对象
                      $tr.remove();
                  });
                  //将删除按钮添加到td3标签中
                  $td3.append($del);
                  //将3个td标签依次添加到tr标签中
                  $tr.append($td1);
                  $tr.append($td2);
                  $tr.append($td3);
                  //将tr标签添加到tbody标签中
                  $("#tbodyID").append($tr);
                  //清空用户名和密码文本框中的内容
                  $("#usernameID").val("");
                  $("#passwordID").val("");
              }
          });
  </script>
  
</html>
View Code

6.多选,全选,反选

//全选中和全取消
            //定位tfoot中的全选复选框,同时添加单击事件
            $("tfoot input:checkbox").click(function(){
                //获取该全选复选框的状态
                var flag = this.checked; 
                //如果选中
                if(flag){
                    //将tbody中的所有复选框选中
                    $("tbody input:checkbox").attr("checked","checked");
                //如果未选中
                }else{
                    //将tbody中的所有复选框取消
                    $("tbody input:checkbox").removeAttr("checked");
                }
            });
//全反选
            //定位tfoot标签中的全反选按钮,同时添加单击事件
            $("tfoot input:button").click(function(){
                //将tbody标签中的所有选中的复选框失效
                $("tbody input:checkbox:checked").attr("disabled","disabled");
                //将tbody标签中的所有生效的复选框选中
                $("tbody input:checkbox:enabled").attr("checked","checked");
                //将tbody标签中的所有生效的复选框生效且设置为未选中
                $("tbody input:checkbox:disabled").removeAttr("disabled").removeAttr("checked");
            });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
    </head>
    <body>
        <table border="1" align="center">
            <thead>
                <tr>
                    <th>状态</th>
                    <th>用户名</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td><input type="checkbox" /></td>
                    <td></td>
                </tr>
                <tr>
                    <td><input type="checkbox" /></td>
                    <td></td>
                </tr>
                <tr>
                    <td><input type="checkbox" /></td>
                    <td></td>
                </tr>
                <tr>
                    <td><input type="checkbox" /></td>
                    <td></td>
                </tr>
                <tr>
                    <td><input type="checkbox" /></td>
                    <td></td>
                </tr>
            </tbody>
            <tfoot>
                <tr>
                    <td>
                        <input type="checkbox" />
                        全选
                    </td>
                    <td>
                        <input type="button" value="全反选" />
                    </td>
                </tr>
            </tfoot>
        </table>
        
        <script type="text/javascript">
            //全选中和全取消
            //定位tfoot中的全选复选框,同时添加单击事件
            $("tfoot input:checkbox").click(function(){
                //获取该全选复选框的状态
                var flag = this.checked; 
                //如果选中
                if(flag){
                    //将tbody中的所有复选框选中
                    $("tbody input:checkbox").attr("checked","checked");
                //如果未选中
                }else{
                    //将tbody中的所有复选框取消
                    $("tbody input:checkbox").removeAttr("checked");
                }
            });
            
        </script>
        
        <script type="text/javascript">
            //全反选
            //定位tfoot标签中的全反选按钮,同时添加单击事件
            $("tfoot input:button").click(function(){
                //将tbody标签中的所有选中的复选框失效
                $("tbody input:checkbox:checked").attr("disabled","disabled");
                //将tbody标签中的所有生效的复选框选中
                $("tbody input:checkbox:enabled").attr("checked","checked");
                //将tbody标签中的所有生效的复选框生效且设置为未选中
                $("tbody input:checkbox:disabled").removeAttr("disabled").removeAttr("checked");
            });
            
        </script>
        
    </body>
</html>
View Code

 7.文本框的输入提示

<script type="text/javascript">
        //当浏览器加载web页面时
        $(function(){
            //将文本框中的文本样式改变
            $(":text").addClass("myClass");
        });
    </script>
    
    <script type="text/javascript">
        //当光标定位文本框时
        $(":text").focus(function(){
            //清空文本框中的内容
            $(this).val("");
            //删除文本框的样式
            $(this).removeClass("myClass");
        });
    </script>    
    
    <script type="text/javascript">
        //当文本框失去焦点时
        $(":text").blur(function(){
            //获取文本框中填入的内容
            var content = $(this).val();
            //去二边的空格
            content = $.trim(content);
            //如果没填了内容
            if(content.length == 0){
                //在文本框显示提示信息
                $(":text").val("输入用户名");
                //设置文本框中文本的样式
                $(":text").addClass("myClass");
            }    
        });
    </script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <style type="text/css">
        .myClass{
            color:inactivecaption
        }
    </style>
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    <table border="1" align="center">
        <tr>
            <th>用户名</th>
            <td>
                <input type="text" value="输入用户名"/>
            </td>
        </tr>
    </table>
    
    <script type="text/javascript">
        //当浏览器加载web页面时
        $(function(){
            //将文本框中的文本样式改变
            $(":text").addClass("myClass");
        });
    </script>
    
    <script type="text/javascript">
        //当光标定位文本框时
        $(":text").focus(function(){
            //清空文本框中的内容
            $(this).val("");
            //删除文本框的样式
            $(this).removeClass("myClass");
        });
    </script>    
    
    <script type="text/javascript">
        //当文本框失去焦点时
        $(":text").blur(function(){
            //获取文本框中填入的内容
            var content = $(this).val();
            //去二边的空格
            content = $.trim(content);
            //如果没填了内容
            if(content.length == 0){
                //在文本框显示提示信息
                $(":text").val("输入用户名");
                //设置文本框中文本的样式
                $(":text").addClass("myClass");
            }    
        });
    </script>
View Code

 

补充:

将html文件直接拖到浏览器,如果引用的资源采用绝对地址会找不到(实际找的绝对路径是资源在磁盘所在路径),比如:

:(找不到)

需要使用tomcat服务器下运行才不会有问题。但是采用相对路径,html直接拖到浏览器查找就会没问题

 

jQuery中常用方法  

目的:通过方法,能操作web页面(HTML/JSP)中的任何标签
1)val():获取标签的value属性值,前提是该标签有value属性
     (2)html():获取标签之间的内容,不能用运于xml文件
     (3)text():获取标签之间的内容,可以用运于html/jsp和xml文件,(提倡)
     (4)css():加key-value形成的css样式
     (5)addClass():加已经定义好的一个css样式
     (6)size():获取jQuery对象/数组中元素的个数,提倡
     (7)length:获取jQuery对象/数组中元素的个数
注意:在写jQuery代码时,不光可以使用jQuery的API,还能使用传统JS的API

 jQuery常用Method-API

 目的:对web页面(HTML/JSP/XML)中的任何标签,属性,内容进行增删改查

(1)DOM简述与分类

       (A)DOM是一种W3C官方标准规则,可访问任何标签语言的页面(HTML/JSP/XML)

       (B)DOM是跨平台(window/linux/unix),跨语言(javascript/java),跨浏览器(ie/firefox/Chrome)的标准规则     

       (C)我们只需要按照DOM标准规则,针对主流浏览器(ie/firefox/Chrome)编程

       (D)JS/jQuery按照DOM的标准规则,既可以操作HTML/JSP,也能操作CSS

       (E)DOM标准规则不是JS的专属,其它语言,也能适用,例如:VBScript,Java语言等

(2)DOM标准规则下的jQuery常用API,注意:以下方法均由jQuery对象调用

each():是jQuery中专用于迭代数组的方法,参数为一个处理函数,this表示当前需要迭代的js对象
<script type="text/javascript">    
        /*用JS语法创建一个一维数组,存入string类型的姓名,再迭代
        var nameArray = new Array("哈哈","呵呵","嘻嘻");
        for(var i=0;i<nameArray.length;i++){
            document.write(nameArray[i]+"<br/>");
        }*/
        
        /*用JSON语法创建一个一维数组,存入string类型的姓名,再迭代
        var nameArray = ["哈哈","呵呵","嘻嘻","都都"];//js对象
        var $nameArray = $(nameArray);//jquery对象
        $nameArray.each(function(){
            this表示数组中每一个元素,this属性js对象,this代表string类型
            alert(this);
        });*/    
        
        //用JSON语法创建一个一维数组,存入object类型的姓名和薪水,再迭代
        var nameArray = [
            {
                name : "哈哈",
                sal : 6000
            },
            {    
                name : "嘿嘿",
                sal : 7000
            },
            {
                name : "笨笨",
                sal : 8000
            }
        ];
        var $nameArray = $(nameArray);
        $nameArray.each(function(){
            //this代表object类型
            alert(this.name + ":"+this.sal);
        });        
    </script>
View Code
append():追加到父元素之后(相对于将标签进行移动)
prepend():追加到父元素之前
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <ul>
        <li>第一项</li>
        <li>第二项</li>
        <li>第三项</li>
    </ul> 
     
    <hr/>
        
    <div>这是子元素,要插入到父元素内</div>
    
    <script type="text/javascript">
        
        //DIV标签插入到UL标签之后(父子关系)
        //$("ul").append( $("div") );    
        
        //DIV标签插入到UL标签之前(父子关系)
        $("ul").prepend( $("div") );
    
    </script>
    
  </body>
</html>
View Code
after():追加到兄弟元素之后
before():追加到兄弟元素之前 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <ul>
        <li>第一项</li>
        <li>第二项</li>
        <li>第三项</li>
    </ul> 
    
    <hr/>
    
    <div>这是子元素,要插入到父元素外</div>
        
    <script type="text/javascript">
        //DIV标签插入到UL标签之后(兄弟关系)
        //$("ul").after( $("div") ); 
         
        //DIV标签插入到UL标签之前(兄弟关系)
        $("ul").before( $("div") ); 
    </script>
    
  </body>
</html>
View Code
attr(name):获取属性值
attr(name,value):给符合条件的标签添加key-value属性对 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    <form>
        <table>
            <tr>
                <td>
                    <input type="text" name="username" value="张三"/>
                </td>
                <td>
                    <input type="password" name="password" value="123456"/>
                </td>
            </tr>
        </table>
    </form>
    
    <script type="text/javascript">
        //取得form里第一个input元素的type属性
        //alert( $("form input:first").attr("type") );
        
        //设置form里最后个input元素的为只读文本框
        //$("form input:last").attr("readonly","readonly")
        //$(":password").attr("readonly","readonly")
        
    </script>
    
  </body>
</html>
View Code
$("<div id='xxID'>HTML代码</div>"):创建元素,属性,文本    
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>       
      <script type="text/javascript">
          
          //创建div元素,添加"哈哈"文本,ID属性,并添加到文档中
          //<body><div id="2015">哈哈</div></body>
          
          /*js方式
          var divElement = document.createElement("div");
          divElement.innerHTML = "哈哈哈";
          divElement.setAttribute("id","2015");
          divElement.id = "2015";
        document.body.appendChild(divElement);*/
                  
          //jquery方式
          var $div = $("<div id='2015'>哈哈哈哈哈</div>");
          //$("body").append( $div );    
          $(document.body).append( $div );    
              
      </script>
  
  </body>
</html>
View Code
remove():删除自已及其后代节点  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
      
      
      <ul id="a">
        <li>第一项</li>      
        <li id="secondID">第二项</li>      
        <li>第三项</li>      
      </ul>
      
      <ul id="b">
        <li>第一条</li>      
        <li id="secondID">第二条</li>      
        <li>第三条</li>      
      </ul>
      
    <div>这是div元素</div>
      
      <script type="text/javascript">
      
          //删除ID为secondID的LI元素
        //$("#secondID").remove();
          
          //删除所有LI元素
          //$("#a li").remove();
          
          //删除UL元素
          $("#b").remove();
          
      </script>    
      
  </body>
</html>
View Code
val():获取value属性的值
val(""):设置value属性值为""空串,相当于清空
text():获取HTML或XML标签之间的值
text(""):设置HTML或XML标签之间的值为""空串 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
  
    <div>
        哈哈    
    </div>
    
    <select id="city">
        <option value="地都">北京</option>
    </select>
    
    <script type="text/javascript">
    
        //取得<div>中的内容
        //alert( $("div").text() );
        
        //取得<option>的值和描述
        var $option = $("#city option");
        var value = $option.val();
        var html = $option.text();
        alert(value + ":" + html);
        
    </script>
  
  </body>
</html>
View Code
clone():只复制样式,不复制行为(静态事件是会被复制的)
clone(true):既复制样式,又复制行为(动态事件也被复制)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    
    <input type="button" value="原按钮" onclick="alert('静态事件')"/> 
        
         
    <script type="text/javascript">
    
        //复制原input元素,添加到原input元素后,与其同级
        var $old = $(":button");
        var $new = $old.clone();
        $new.val("新按钮");
        $old.after( $new );
        
        //为原input元素动态添加单击事件,且复制原input元素,
        //var $old = $(":button");
        //$old.click(function(){
        //    alert("动态事件");
        //});
        
        //添加到原input元素后,与其同级,且和原按钮有一样的行为
        //var $new = $old.clone(true);
        //$new.val("新按钮");
        //$old.after( $new );
        
    </script>
  </body>
</html>
View Code
replaceWith():替代原来的节点
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    <table border="1" align="center">
        <tr>
            <td>
                <div style="width:165px;height:23px">
                    双击会被替换成文本框
                </div>
            </td>
            <td>
                不会变
            </td>
        </tr>
    </table>
    
    <script type="text/javascript">
        //双击<div>中的文本,用文本框替换文本
        $("div").dblclick( function(){
            var $text = $("<input type='text' style='width:165px;height:23px'/>");
            //文本框替代div标签
            $(this).replaceWith( $text );
        } );
    </script>
    
  </body>
</html>
View Code
removeAttr():删除已存在的属性
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    <table>
        <tr>
            <td>
                添加属性border/align/width
            </td>
            <td>
                删除属性align
            </td>
        </tr>
    </table>
    
    <script type="text/javascript">
        //为<table>元素添加属性border/align/width
        var $table = $("table").attr("border","2").attr("align","right").attr("width","60%")
        
        //将<table>元素的align属性删除
        $table.removeAttr("align");
    </script>
    
  </body>
</html>
View Code
addClass():增加已存在的样式
removeClass():删除已存在的样式
hasClass():判断标签是否有指定的样式,true表示有样式,false表示无样式
toggleClass():如果标签有样式就删除,否则增加样式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <style type="text/css">
        .myClass{
            font-size:30px;
            color:red
        }
    </style>
   <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <div>无样式</div>
    
    <div class="myClass">有样式</div>
    
    <script type="text/javascript">
    
        //为无样式的DIV添加样式
        //$("div:first").addClass("myClass");
        
        //为有样式的DIV删除样式
        //$("div:last").removeClass("myClass");
        
        //切换样式,即有样式的变成无样式,无样式的变成有样式
        //$("div").toggleClass("myClass");
        
        //最后一个DIV是否有样式
        var flag = $("div:last").hasClass("myClass");
        alert(flag?"有样式":"无样式");
        
    </script>
  
  </body>
</html>
View Code
offset():获取对象的left和top坐标
offset({top:100,left:200}):将对象直接定位到指定的left和top坐标
width():获取对象的宽
width(300):设置对象的宽
height():获取对象的高
height(500):设置对象的高
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <img src="../images/zgl.jpg"/>
    
    <script type="text/javascript">
    
        //获取图片的坐标
        //var offset = $("img").offset();
        //var x = offset.left;
        //var y = offset.top;
        //alert(x+":"+y);
        
        //设置图片的坐标
        //$("img").offset({
        //    top:100,
        //    left:200
        //});
        
        //获取图片的宽高
        //var w = $("img").width();
        //var h = $("img").height();
        //alert(w+":"+h);
        
        //设置图片的宽高
        $("img").width(500);
        $("img").height(600);
        
    </script>
  
  </body>
</html>
View Code
children():只查询子节点,不含后代节点
next():下一下兄弟节点
prev():上一下兄弟节点
siblings():上下兄弟节点(带参数表示具体哪个兄弟)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>method_1.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    <p>Hello</p>
    <div>
        <span>
            Hello Again
            <b>
                Bold
            </b>
        </span>
    </div>
    <p>And Again</p>
    <span>And Span</span>

    <script type="text/javascript">
    
        //取得div元素的直接子元素内容,不含后代元素
        //var $span = $("div").children();
        //var content = $span.html();//包含子标签
        //var content = $span.text();//不包含子标签
        //alert(content);
        
        //取得div元素的下一个同级的兄弟元素内容    
        //var $p = $("div").next();
        //alert( $p.text() );
        
        //取得div元素的上一个同级的兄弟元素内容
        //alert( $("div").prev().text() );
        
        //依次取得div元素的上下一个同级的所有兄弟元素的内容
        var $all = $("div").siblings("p");        
        $all.each(function(){
            alert( $(this).html() );
        });
        
    </script>
    
  </body>
</html>
View Code
show():显示对象
hide():隐藏对象(加参数时间,会慢慢变小消失
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>

    <p>
        <img src="../images/zgl.jpg"/>
    </p> 
         
    <script type="text/javascript">
        //图片隐蔽
        $("img").hide(5000);
        
        //休息3秒
        window.setTimeout(function(){
        
            //图片显示
            $("img").show(5000);
        
        },3000);
        
    </script>
    
  </body>
</html>
View Code
fadeIn():淡入显示对象
fadeOut():淡出隐藏对象
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
     <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
   </head>
  <body>
    <p>
        <img src="../images/zgl.jpg" style="display:none"/>
    </p>      
    
    <script type="text/javascript">
        //淡入显示图片
        $("img").fadeIn(3000);
        //淡出隐蔽图片
        $("img").fadeOut(3000);
    </script>    
        
  </body>
</html>
View Code
slideUp():向上滑动(收缩消失)
slideDown():向下滑动(下拉恢复)
slideToggle():上下切换滑动,速度快点(慢的话,可能会恢复闪一下)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
  
    <div>
        中国0<br/>    
        中国1<br/>    
        中国2<br/>    
        中国3<br/>    
        中国4<br/>    
        中国5<br/>    
        中国6<br/>    
        中国7<br/>    
        中国8<br/>    
        中国9<br/>    
    </div> 
     
    <input type="button" value="我的好友"/>
    
    <script type="text/javascript">
        //向上下滑动
        $(":button").click(function(){
            //div标标上下移动
            $("div").slideToggle(100);
        });
    </script>    
    
  </body>
</html>
View Code

 

jQuery常用Event-API

 目的:对web页面(HTML/JSP)进行事件触发,完成特殊效果的处理

window.onload:在浏览器加载web页面时触发,可以写多次onload事件,但后者覆盖前者

             ready:在浏览器加载web页面时触发,可以写多次ready事件,不会后者覆盖前者,

                        依次从上向下执行,我们常用$(函数)简化

                        ready和onload同时存在时,二者都会触发执行,ready快于onload(readdy会在图片/多媒体未加载完的时候执行)

(补充:页面加载触发事件 document.ready和window.onload的区别

$(document).ready(function(){
     //do something
})
//或者下面这个方法,jQuer的默认参数是:“document”;
$().ready(function(){
    //do something
})

//最简写
$(function(){
    alert("现代");
  });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>ready.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
  
    <script type="text/javascript">
        //定义a()和b()二个方法
        function a(){
            alert("JS方式");
        }
        function b(){
            alert("JQUERY方式");
        }
        /*使用JS方式加载a()和b()二个方法
        window.onload = function(){
            a();
        }
        window.onload = function(){
            b();
        }
        */

        /*使用jQuery方式加载a()和b()二个方法
        $(document).ready(function(){
            a();
        });    
        $(document).ready(function(){
            b();
        });    
        */
    
        /*使用jQuery最简方式加载a()和b()二个方法
        $(function(){
            a();
        });
        $(function(){
            b();
        });
        */
        
        //将js方式的onload与jquery方式的ready对比,看哪个执行快
        window.onload = function(){
            alert("3传统");
        }
        $(function(){
            alert("2现代");
        });
        function a(){
            alert("1最先");
        }
                a();

    </script>    
          
  </body>
</html>
View Code

补充:执行js的执行顺序:

//最后执行
window.onload = function(){
            alert("3传统");
        }
//第二个执行
        $(function(){
            alert("2现代");
        });
//最先执行
        function a(){
            alert("1最先");
        }
                a();

 change:当内容改变时触发

<select id="city">
        <option value="bj">北京</option>    
        <option value="sh">上海</option>    
        <option value="gz">广州</option>
    </select>
    
    <script type="text/javascript">
        //当<select>标签触发onchange事件,显示选中<option>的value和innerHTML属性的值
        $("#city").change( function(){ 
            var $option = $("#city option:selected");
            var value = $option.val();
            var text = $option.text();
            alert(value+":"+text);
        } );
    </script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>ready.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <select id="city">
        <option value="bj">北京</option>    
        <option value="sh">上海</option>    
        <option value="gz">广州</option>
    </select>
    
    <script type="text/javascript">
        //当<select>标签触发onchange事件,显示选中<option>的value和innerHTML属性的值
        $("#city").change( function(){ 
            var $option = $("#city option:selected");
            var value = $option.val();
            var text = $option.text();
            alert(value+":"+text);
        } );
    </script>
        
  </body>
</html>
View Code

focus:焦点获取

select:选中所有的文本值

//加载页面时获取光标并选中所有文字
        $(function(){
            //光标定位文本框
            $(":text").focus();
            //选中文本框的所有文本
            $(":text").select();
        });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>focus.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    
    <input type="text" value="加载页面时获取光标并选中所有文字" size="50"/>    
    
    <script type="text/javascript">
        //加载页面时获取光标并选中所有文字
        $(function(){
            //光标定位文本框
            $(":text").focus();
            //选中文本框的所有文本
            $(":text").select();
        });
    </script>
  
  </body>
</html>
View Code

keyup/keydown/keypress:演示在IE和Firefox中获取event对象的不同(键盘鼠标事件时,浏览器会自动创建事件对象,可以获取鼠标位置和键盘值

//当按键弹起时,显示所按键的unicode码
        $(function(){
            //IE浏览器会自动创建event这个事件对象,那么程序员可以根据需要来使用该event对象
            $(document).keyup(function(){
                //获取按钮的unicode编码
                var code = event.keyCode; 
                alert(code);
            });
        });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>focus.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>

    <script type="text/javascript">
        //当按键弹起时,显示所按键的unicode码
        $(function(){
            //IE浏览器会自动创建event这个事件对象,那么程序员可以根据需要来使用该event对象
            $(document).keyup(function(){
                //获取按钮的unicode编码
                var code = event.keyCode; 
                alert(code);
            });
        });
    </script>

  </body>
</html>
View Code

mousemove:在指定区域中不断移动触发

//显示鼠标移动时的X和Y座标
        $(function(){
            $(document).mousemove(function(){
                var x = event.clientX;
                var y = event.clientY;
                $("#xID").val(x);
                $("#yID").val(y);
            });        
        });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>focus.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>

    X=<input type="text" id="xID"/>
    <br/>
    Y=<input type="text" id="yID"/>

    <script type="text/javascript">
        //显示鼠标移动时的X和Y座标
        $(function(){
            $(document).mousemove(function(){
                var x = event.clientX;
                var y = event.clientY;
                $("#xID").val(x);
                $("#yID").val(y);
            });        
        });
    </script>
    
  </body>
</html>
View Code

mouseover:鼠标移入时触发

mouseout:鼠标移出时触发

//鼠标移到某行上,某行背景变色
        $("table tr").mouseover(function(){
            $(this).css("background-color","inactivecaption");
        });    
        
        //鼠标移出某行,某行还原
        $("table tr").mouseout(function(){
            $(this).css("background-color","white");
        });
        
        //鼠标移到某图片上,为图片加边框
        $("img").mouseover(function(){
            $(this).css("border-color","red");
        });
        
        //鼠标移出图片,图片还原
        $("img").mouseout(function(){
            $(this).css("border-color","white");
        });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>focus.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
    <table border="2" align="center" width="80%" id="tableID">
        <tr>
            <td>张三</td>
            <td></td>
            <td>22</td>
        </tr>
        <tr>
            <td>李四</td>
            <td></td>
            <td>24</td>
        </tr>
        <tr>
            <td>王五</td>
            <td></td>
            <td>26</td>
        </tr>
        <tr>
            <td>周六</td>
            <td></td>
            <td>28</td>
        </tr>
    </table>
    
    <hr/>
    
    <img height="120px" src="../images/zgl.jpg" style="position:absolute;left:30%;border-style:dashed;border-color:white"/>
    <img height="120px" src="../images/lb.jpg" style="position:absolute;left:60%;border-style:dashed;border-color:white"/>
    
    <script type="text/javascript">
    
        //鼠标移到某行上,某行背景变色
        $("table tr").mouseover(function(){
            $(this).css("background-color","inactivecaption");
        });    
        
        //鼠标移出某行,某行还原
        $("table tr").mouseout(function(){
            $(this).css("background-color","white");
        });
        
        //鼠标移到某图片上,为图片加边框
        $("img").mouseover(function(){
            $(this).css("border-color","red");
        });
        
        //鼠标移出图片,图片还原
        $("img").mouseout(function(){
            $(this).css("border-color","white");
        });
        
    </script>
    
  </body>
</html>
View Code

 submit:在提交表单时触发,true表示提交到后台,false表示不提交到后台

<script type="text/javascript">
        //浏览器加载web页面时触发
        $(function(){
            //将光标定位于文本框中
            $(":text").focus();
        });        
    </script>

    <script type="text/javascript">
        //检测是否为中文,true表示是中文,false表示非中文
        function isChinese(str){
            if(/^[\u3220-\uFA29]+$/.test(str)){
                return true;
            }else{
                return false;
            }
        }
    </script>

    <script type="text/javascript">
        //当表单提交前检测
        $("form").submit(function(){
            var flag = false;
            //获取文本框的中内容
            var name = $(":text").val();
            //去二边的空格
            name = $.trim(name);
            //如果没有填内容
            if(name.length == 0){
                alert("用户名必填");
                //将光标定位于文本框中
                $(":text").focus();
                //清空文本框中的内容
                $(":text").val("");
            }else{
                //调用方法
                flag = isChinese(name);
                //如果不是中文
                if(!flag){
                    alert("用户名必须填中文");
                    //将光标定位于文本框中
                    $(":text").focus();
                    //清空文本框中的内容
                    $(":text").val("");
                }
            }
            return flag;
        });
    </script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>ready.html</title>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <script type="text/javascript" src="../js/jquery-1.8.2.js"></script>
  </head>
  <body>
      
      <form action="06_mouseover_mouseout.html" method="post">
        用户名:<input type="text"/>
        <input type="submit" value="表单提交"/>
    </form>


    <script type="text/javascript">
        //浏览器加载web页面时触发
        $(function(){
            //将光标定位于文本框中
            $(":text").focus();
        });        
    </script>

    <script type="text/javascript">
        //检测是否为中文,true表示是中文,false表示非中文
        function isChinese(str){
            if(/^[\u3220-\uFA29]+$/.test(str)){
                return true;
            }else{
                return false;
            }
        }
    </script>

    <script type="text/javascript">
        //当表单提交前检测
        $("form").submit(function(){
            var flag = false;
            //获取文本框的中内容
            var name = $(":text").val();
            //去二边的空格
            name = $.trim(name);
            //如果没有填内容
            if(name.length == 0){
                alert("用户名必填");
                //将光标定位于文本框中
                $(":text").focus();
                //清空文本框中的内容
                $(":text").val("");
            }else{
                //调用方法
                flag = isChinese(name);
                //如果不是中文
                if(!flag){
                    alert("用户名必须填中文");
                    //将光标定位于文本框中
                    $(":text").focus();
                    //清空文本框中的内容
                    $(":text").val("");
                }
            }
            return flag;
        });
    </script>
    
  </body>
</html>
View Code

click:单击触发

dblclick:双击触发

blur:焦点失去

在上面的例子中已经有过了

 

posted @ 2017-05-31 01:39  假程序猿  阅读(595)  评论(0)    收藏  举报