前端学习之JS(七)之JQuery

一、

1、JQuery就是javascript的类库,特点是独特的选择器、链式操作、事件处理机制、封装完善的Ajax。

2、在JQuery中$就代表JQuery的意思。

3、JQuery对象就是通过JQuery包装DOM对象后产生的对象。

var srh = DOM对象;

var  $srh =  JQuery对象;

4、平常用到的JQuery对象都是通过$()函数制作出来的,$()函数相当于是jQuery对象的制作工厂。

 

二、jQuery选择器:包括基本选择器、层次选择器、过滤选择器、和表单选择器。

1、基本选择器:它通过元素Id、class和标签名等来查找DOM元素。(在网页中,Id只能使用一次,class允许重复使用。

$("#num").css("background","red")

$(".num").css("background","red")

$("p");   选取所有的<p>元素

$("*");  选取所有的元素

$("p.myclass")   选取class为myclass的<p>标签的一组元素

$("span,p,#ssh")    选取一组元素

 

2、层次选择器:通过DOM元素之间的层次关系来获取特定的元素,包括后代元素、子元素、相邻元素等。

(后代元素是指后面所有的元素,子元素是指之后的元素)

$("div span");    表示选取div元素里的所有的span元素。(表示选取div之后所有的元素)

$("div>span"); 表示选取div元素里所有的子元素span。

 

 

3、过滤选择器:通过特定的过滤规则来筛选出所需的DOM元素。选择器都以冒号 : 开头。

div:first   选取第一个div元素

 

4、表单选择器:

$(.form1:input)          选取所有的input元素

$(.form1:password)     选取所有的password元素

 

值得注意的是:$("div,span,p")表示选取这一系列元素

而空格则是条件:$("div span p")表示div下的span下的p元素

 

5、JQuery中css()方法既可以用来设置样式,也可以获取读取其属性。

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

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

 

二、jQuery中的Ajax

jQuery对Ajax操作进行了封装,

1、在jQuery中$.ajax()属于最底层的方法,

      第2层是load(),$.get()和$.post()方法,

$.get()和$.post()方法是jQuery中的全局函数

      第3层是$.getScript()和$.getJSON()方法。

 

load()通常用来获取静态的数据文件:

 <input type="button" id="hh"  value="点我就对了"/>
 <div id="hhh"></div>

$(function () {
            $("#hh").click(function(){
                $("#hhh").load("HTMLPage2.html");
            })
        }
        )

$.get():

$.get(url ,data,回调函数,数据格式)  ,它的回调函数只有data返回内容和textStatus请求状态两个参数

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

  $.get(HTMLPage2.html,{

       username:  $("#ahsg").val(),

        age:            $("#asda").val()

        }, function(data,textStatus){          //回调函数

             $("#asdadw").html(data);  //将返回的数据添加到页面上

  或者这个:$("#asdadw").append(data);

})

)

$.post()方法和$.get()差不多

$.ajax()方法是jQuery最底层的实现,可以用它来代替前面所有的方法。

 

2、$.ajax()方法:

type: 
要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。

data: 
要求为Object或String类型的参数,发送到服务器的数据。如果已经不是字符串,将自动转换为字符串格式。get请求中将附加在url后。防止这种自动转换,可以查看  processData选项。对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。如果是数组,JQuery将自动为不同值对应同一个名称。例如{foo:["bar1","bar2"]}转换为&foo=bar1&foo=bar2。

2.1回调函数:

如果要处理 $.ajax() 得到的数据,则需要使用回调函数:beforeSend、error、dataFilter、success、complete。
success:

要求为Function类型的参数,请求成功后调用的回调函数,有两个参数。
    (1)由服务器返回,并根据dataType参数进行处理后的数据。
    (2)描述状态的字符串。


         function(data, textStatus){
            //data可能是xmlDoc、jsonObj、html、text等等
            this;  //调用本次ajax请求时传递的options参数
         }

error:
要求为Function类型的参数,请求失败时被调用的函数。该函数有3个参数,即XMLHttpRequest对象、错误信息、捕获的错误对象(可选)。ajax事件函数如下:


       function(XMLHttpRequest, textStatus, errorThrown){
          //通常情况下textStatus和errorThrown只有其中一个包含信息
          this;   //调用本次ajax请求时传递的options参数
       }

几个例子:

1、

2、

$(function(){
    $('#send').click(function(){
         $.ajax({
             type: "GET",
             url: "test.json",
             data: {username:$("#username").val(), content:$("#content").val()},
             dataType: "json",
             success: function(data){
                         $('#resText').empty();   //清空resText里面的所有内容
                         var html = ''; 
                         $.each(data, function(commentIndex, comment){
                               html += '<div class="comment"><h6>' + comment['username']
                                         + ':</h6><p class="para"' + comment['content']
                                         + '</p></div>';
                         });
                         $('#resText').html(html);
                      }
         });
    });
});
 

3、

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值