JQuery学习笔记(3)

jquery的dom操作

 

 创建对象

 

 

使用jquery的 $() 来创建一个dom对象, 并包装成一个jquery对象返回

 

快速入门:

 

如果传统的dom方法.

 

//添加重庆li到 上海下(使用dom的传统方法)

       function test1(){

             

              varmyli=document.createElement("li");

              myli.setAttribute("id","cq");

              myli.setAttribute("name","chongqing");

              myli.innerHTML="重庆";

             

              document.getElementById("city").appendChild(myli);

             

       }

 

 

如果使用的 jquery方法

 

 

代码如下:

<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">

<html>

  <head>

    <title>ddd</title>

    <metahttp-equiv="content-type" content="text/html;charset=UTF-8">

       <style type="text/css">

                    div,span{

                         width: 140px;

                         height: 140px;

                         margin: 20px;

                         background: #9999CC;

                         border: #000 1px solid;

                            float:left;

                         font-size: 17px;

                         font-family:Roman;

                     }

                    

                     div.mini{

                         width: 30px;

                         height: 30px;

                         background: #CC66FF;

                         border: #000 1px solid;

                         font-size: 12px;

                         font-family:Roman;

                     }

        </style>

        <!--引入jquery的js库-->

        <script type="text/javascript"src="../js/jquery-1.3.1.js"></script>

 

       </head>

       <body>

             

                <ul id="city">

               <liid="bj" name="beijing">北京</li>

                     <li id="sh"name="shanghai">上海</li>

         </ul>

             

              <input type="button"id="b1" value="添加重庆li到 上海下"/><br/>

              <input type="button"id="b2" value="添加成都li到 北京前"/><br/>

             

       </body>

    

       <scriptlanguage="JavaScript">

        

       //*****添加重庆li到上海下

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

              //jquery方法

              //<li id='cq'name=''chongqing>重庆</li>

              //有两种方法

              //1.一步到位********

       //     $myli=$("<liid='cq' name='chongqing'>重庆</li>");

              //先使用内部插入

              //$('#city').append($myli) :表示在 $('#city')对象内部后面添加一个$myli对象

       //     $('#city').append($myli);

              //1.end ....一步到位********

             

             

              //2.逐步添加我们的dom对象

             

              $myli=$("<li></li>");//<===>$myli=$("<li/>");

              $myli.text("重庆"); //=> <li>重庆</li>

              $myli.attr("id","cq");//==><liid='cq'>重庆</li>

              $myli.attr("name","chongqing");

              //把$myli添加到上海

              $('#city').append($myli) :表示在 $('#city')对象内部后面添加一个$myli对象

              //$('#city').append($myli);

              //如果使用appendTo这应当这样使用

              //$myli.appendTo($("#city"));:表示把$myli添加到  $("#city")对象的内部后面

              $myli.appendTo($("#city"));

             

             

       })

      

       //***添加成都li到北京前

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

              //jqury方法

              $myli=$("<li id='cq'name='chongqing'>成都</li>");

              //$('#city').prepend($myli);

              $myli.prependTo($('#city'));

       })

      

    </script>

  

</html>

 

 

 

 

 

 

$aaa.append($bbb);

 

$bbb.appendTo($aaa);

 

 

 

我们看看外部插入:

核心代码如下:

$('#b4').click(function(){

             

              //使用外部插入

              //一步到位

              //$("#bj").after("<liid='cd' name='chengdu '>成都</li>");

              $("<li id='cd'name='chengdu '>成都</li>").insertAfter($('#bj'));

             

       })

      

       $('#b5').click(function(){

             

              //使用外部插入

              //一步到位

              //$("#jl") 对象前面添加  "<liid='cd' name='chengdu '>成都</li>";

              var $jl=$("<li id='cd'name='chengdu '>成都</li>");

              //$("#jl").before($jl);

              $jl.insertBefore($('#jl'));

             

       })

 

 

l 使用jquery去查找某个对象,如果这个对象(id/class...)不存在,jquery不报错, val()

 

<scripttype="text/javascript">

      

//alert($('#text2').val());

alert(document.getElementById("text2").value);

//dom,这样处理

/*if(document.getElementById("text2")){

       alert(document.getElementById("text2").value);

}else{

       window.alert("ok");

}*/

</script>

 

 

 删除节点

 

代码 :

<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">

<html>

  <head>

    <title>ddd</title>

    <metahttp-equiv="content-type" content="text/html;charset=UTF-8">

       <style type="text/css">

                    div,span{

                         width: 140px;

                         height: 140px;

                         margin: 20px;

                         background: #9999CC;

                         border: #000 1px solid;

                            float:left;

                         font-size: 17px;

                         font-family:Roman;

                     }

                    

                     div.mini{

                         width: 30px;

                         height: 30px;

                         background: #CC66FF;

                         border: #000 1px solid;

                         font-size: 12px;

                         font-family:Roman;

                     }

        </style>

        <!--引入jquery的js库-->

        <script type="text/javascript"src="../js/jquery-1.3.1.js"></script>

 

       </head>

       <body>

              您喜欢的城市:<br>

              <ul id="city">

               <liid="bj" name="beijing">北京</li>

                     <li id="sh"name="shanghai">上海</li>

                     <li id="tj"name="tianjin">天津</li>

         </ul>

             

              您爱好的游戏:<br>

              <ul id="game">

               <liid="fk" name="fakong">反恐</li>

                     <li id="cq"name="chuangqi">传奇</li>

         </ul>

             

              <p>Hello</p> how are<p>you?</p>

             

             

              <pname="test">Hello, <span>Person</span> <ahref="#">and person</a></p>

             

              <input type="button"value="删除所有p" id="b1"/>

              <input type="button"value="所有p清空"id="b1"/>

              <input type="button"value="删除上海这个li" id="b3"/>

       </body>

       <scriptlanguage="JavaScript">

     

        //*****删除所有p

        //$("p").remove();

        

        //***所有p清空

        $("p").empty();

        

        //****删除上海这个li

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

              $("#sh").remove();

       })

      

    </script>

  

</html>

 

 

 复制节点

代码如下:

<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">

<html>

  <head>

    <title>ddd</title>

    <meta http-equiv="content-type"content="text/html; charset=UTF-8">

       <style type="text/css">

                    div,span{

                         width: 140px;

                         height: 140px;

                         margin: 20px;

                         background: #9999CC;

                         border: #000 1px solid;

                            float:left;

                         font-size: 17px;

                         font-family:Roman;

                     }

                    

                     div.mini{

                         width: 30px;

                         height: 30px;

                         background: #CC66FF;

                         border: #000 1px solid;

                         font-size: 12px;

                         font-family:Roman;

                     }

        </style>

        <!--引入jquery的js库-->

        <script type="text/javascript"src="../js/jquery-1.3.1.js"></script>

 

       </head>

       <body>

              <button>保存</button><br><br><br><br><br>

              ///<br>

        <p>段落</p>

              <p>段落2</p>

              <p>段落2</p>

              <p>段落2</p>

              <p>段落2</p>

             

       </body>

       <scriptlanguage="JavaScript">

        

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

             window.alert($(this).text());

        });

        //$("p").clone()表示复制一份 $("p"),但是没有复制事件

        //$("p").clone(true)表示复制一份 $("p"),同时复制事件

        $("p").clone(true).insertAfter($('button'));

        

      

    </script>

  

</html>

 

 

 节点替换

代码:

<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">

<html>

  <head>

    <title>ddd</title>

    <metahttp-equiv="content-type" content="text/html;charset=UTF-8">

       <style type="text/css">

                    div,span{

                         width: 140px;

                         height: 140px;

                         margin: 20px;

                         background: #9999CC;

                         border: #000 1px solid;

                            float:left;

                         font-size: 17px;

                         font-family:Roman;

                     }

                    

                     div.mini{

                         width: 30px;

                         height: 30px;

                         background: #CC66FF;

                         border: #000 1px solid;

                         font-size: 12px;

                         font-family:Roman;

                     }

        </style>

        <!--引入jquery的js库-->

        <script type="text/javascript"src="../js/jquery-1.3.1.js"></script>

 

       </head>

       <body>

              <p>Hello</p><p>cruel</p><p>World</p>

       </body>

       <scriptlanguage="JavaScript">

      //with : 用什么去替换什么

       // $("p").replaceWith("<input type='button' value='按钮'><br/>");

        

       // $("<ahref='#'>sohu</a>").replaceAll($("p"));

        $("p").replaceWith("<ahref='#'>sohu</a><br/>");

      

    </script>

  

</html>

 

 

在jquery开发中有这样几个函数,可以获取值,同时也可以设置值

 

1.      val() val(val)

2.      html() html(val)

 

$("#div1").html("<p>hello</p>")

 

3.      text() text(val)

$("#div1").text("<p>hello</p>");

 

4. attr(name)attr(name,val)

$('#div1').attr("title");

$(''#div1).attr("title","abc");

 

4.      css("css名字"),css("css名字",val)

$("#div1").css("backgorund");

$("#div1").css("backgorund","red");

 

removeAttr(): 删除指定元素的指定属性

 

<ahref='http://www.sohu.com' id="a1">soho</a>

 

$("#a1").removeAttr("href");

$("#a1").attr("href","http://www.baidu.com");

 

 

代码如下:

<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">

<html>

  <head>

    <title>XXX</title>

    <metahttp-equiv="content-type" content="text/html;charset=UTF-8">

       <scriptlanguage="JavaScript" src="../js/jquery-1.3.1.js"></script>

       <style type="text/css">

                    div,span{

                         width: 140px;

                         height: 140px;

                         margin: 20px;

                         background: #9999CC;

                         border: #000 1px solid;

                            float:left;

                         font-size: 17px;

                         font-family:Roman;

                     }

                    

                     div.mini{

                         width: 30px;

                         height: 30px;

                         background: #CC66FF;

                         border: #000 1px solid;

                         font-size: 12px;

                         font-family:Roman;

                     }

        </style>

        <!--引入jquery的js库-->

   

       </head>

        

       <body>

              <!--value 就是默认值 可以通过 this.defaultValue来访问-->

               <input type="text" value="用户邮箱/手机号/用户名"  id="b1"/><br>

               <input type="password"value="" id="b2"/><br>

               <input type="button" value="登陆" id="b3"/>

             

               <br>

      

             

       </body>

<scriptlanguage="JavaScript">

      

      

       $(document).ready(function (){

              //当dom对象加载完毕后,给 b1绑定一个focus事件

              $("#b1").focus(function(){

                    

                     //获取当前值

                     $curVal=$(this).val();

                     if($curVal==this.defaultValue){

                            //应当设置""

                            $(this).val("");

                     }else{

                            $(this).val($curVal);

                     }

              })

              //在绑定一个事件blur

              $("#b1").blur(function(){

                     //获取当前值

                     $curVal=$(this).val();

                     if($curVal==""){

                            $(this).val(this.defaultValue);

                     }else{

                            $(this).val($curVal);

                     }

              })

             

             

       });

 

</script>

  

</html>

 

 

***如何获取子元素和兄弟元素的方法:

代码:

<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML4.01 Transitional//EN">

<html>

  <head>

    <title>ddd</title>

    <metahttp-equiv="content-type" content="text/html;charset=UTF-8">

       <style type="text/css">

                    div,span{

                         width: 140px;

                         height: 140px;

                         margin: 20px;

                         background: #9999CC;

                         border: #000 1px solid;

                            float:left;

                         font-size: 17px;

                         font-family:Roman;

                     }

                    

                     div.mini{

                         width: 30px;

                         height: 30px;

                         background: #CC66FF;

                         border: #000 1px solid;

                         font-size: 12px;

                         font-family:Roman;

                     }

        </style>

        <!--引入jquery的js库-->

        <script type="text/javascript"src="../js/jquery-1.3.1.js"></script>

 

       </head>

       <body>

             

              <input type="button"value="查找所有子元素" id="b2"/>

        <input type="button"value="获取后面的同辈元素" id="b3"/>

        <input type="button"value="获取前面的同辈元素" id="b4"/>

        <input type="button"value="获取所有的同辈元素" id="b5"/>

      

        <div >

              ccccccc

   </div>   

             

   <div class="one">

               <div id="one"   >

                XXXXXXXXX  one

               </div>

                     

               <div id="two"  >

                XXXXXXXXX  two

               </div>

                     

               <div id="three" >

                XXXXXXXXX  three

               </div>

               

               <div id="four" >

                XXXXXXXXX  four

               </div>

   </div>   

   <div>

          tttttttttt

   </div>   

   <div>

          aaaaaaa

   </div>

   <div>

          bbbbbb

   </div></body>

       <scriptlanguage="JavaScript">

             

       //**查找所有子元素(class为 one 的div的子元素)

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

              window.alert('aaaa');

       /*    $(".one").children().each(function(){

                     alert($(this).text());

              })*/

             

              //指定获取第几个子孩子

              alert($(".one").children().eq(1).text());

       })

      

       //***获取后面的同辈元素(class为 one 的div的子元素)

      

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

      

              //获取.one后面所有的兄弟  

       //     $(".one").nextAll().each(function(){

       //            alert($(this).text());

       //     })

              //获取.one后面的第2兄弟

              alert($(".one").nextAll().eq(1).text());

       })

      

       //**获取前面的同辈元素(class为 one 的div的子元素) 

      

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

       //获取.one前面所有的兄弟  

       //     $(".one").prevAll().each(function(){

              //     alert($(this).text());

              //})

              //获取.one前面的第1兄弟

              alert($(".one").prevAll().eq(0).text());

              alert($(".one").prev().text());

       })

      

       //**获取所有的同辈元素

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

      

              $(".one").siblings().each(function(){

                     alert($(this).text());

              })

      

       })

       //*** 

   </script></html>

 

 

代码:

<!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

       <head>

              <metahttp-equiv="Content-Type" content="text/html;charset=UTF-8">

              <title>Untitled Document</title>

              <scripttype="text/javascript" src="../js/jquery-1.3.1.js"></script>

       </head>

       <body>

              <form method="post"action="">

                 请选择您的爱好!

                     <br><inputtype="checkbox" id="checkedAll_2"/>全选/全不选

                 <br/>

                 <input type="checkbox" name="items"   value="足球"/>足球

                     <inputtype="checkbox" name="items" value="篮球"/>篮球

                     <inputtype="checkbox" name="items" value="游泳"/>游泳

                     <inputtype="checkbox" name="items" value="唱歌"/>唱歌

                 <br/>

                 <input type="button" id="CheckedAll" value="全 选"/>

                 <input type="button" id="CheckedNo" value="全不选"/>

                 <input type="button" id="CheckedRev" value="反 选"/>

             

                     <inputtype="button" id="send" value="提 交"/>

              </form>

       </body>

      

       <scriptlanguage="JavaScript">

      

        

        

              $("#checkedAll_2").click(

              function (){

                     if(this.checked){

                            $("input[name='items']").attr("checked","checked");

                     }else{

                            //$("input[name='items']").attr("checked","");

                            $("input[name='items']").removeAttr("checked");

                     }

              }

              );

             

              $('#CheckedAll').click(function(){

                     $("input[name='items']").attr("checked","checked");

              }

              );

              $('#CheckedNo').click(function(){

                     $("input[name='items']").attr("checked","");

              }

              );

             

              //反选

              $('#CheckedRev').click(function(){

                     $("input[name='items']").each(function(){

                            if(this.checked){

                                   $(this).attr("checked","");

                            }else{

                                   $(this).attr("checked","checked");

                            }

                     })

              }

              );

       </script>

</html>

 

 

 

 

小结: jquery和ajax整合的使用方法

 

使用jquery的方法

1.      load(url,[data,],[callfunction])

 

这个load方法把我们ajax自行写的代码包装,

url表示向哪个php发送ajax请求.

data数据是可以选填 ,但是格式有要求 应当按照 json格式来发送, 一旦有这个数据则,load将以post方式提交, 如果没有数据 ,可以设置null,则默认以get方式提交

callfunction :形式 function(data,textstatus,xmlHttpRequest);

data :表示从服务器返回数据(string)

textstatus:表示文本状态succuss, error, notmodify, timeout

xmlHttpRequest,就是XMLHttpRequest对象

 

返回的数据可能是text/xml/json, 这时你需要用不同的方法来处理,然后使用jquery来显示到某个适当位置

 

说明 : load方法需要用jquery对象来调用.

jquery.load();

 

2.      get(url,[data,][callfunction]);

3.     post(url,[data,][callfunctino]);

 

这个post方法可以不依赖某个jquery对象,它可以直接调用

$.post();

 

url也是向某个php发送数据.

data 也是可以选填的,格式仍然遵守json格式 {"name":"sp"};$_POST['name'];

该函数返回的值就是xmlHttpRequest 对象

callfunction函数只能有两个参数. data,textstatus

 

作业:

使用jquery+ajax 改写

1.      用户名无刷新验证

2.     省市联动

3.     天气和黄金报价

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值