JQuery

jQuery

来源:https://www.liaoxuefeng.com/
http://www.runoob.com/
http://how2j.cn/

Ajax

AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

【在页面某一部分单独和服务器联系】

1.创建XHR

创建XHR对象 XMLHttpRequest XHR对象是一个javascript对象,它可以在用户没有感觉的情况下,就像背后运行的一根小线程一般,悄悄的和服务器进行数据交互 AJAX就是通过它做到无刷新效果的

2.设置响应函数

XHR对象的作用是和服务器进行交互,所以既会发消息给服务器,也能接受服务器返回的响应。 当服务器响应回来的时候,调用怎么处理呢? 通过 xmlhttp.onreadystatechange=checkResult 就可以指定用checkResult 函数进行处理。

3.设置并发出请求

通过open函数设置背后的这个小线程,将要访问的页面url ,在本例中就是
/study/checkName.jsp

xmlhttp.open("GET",url,true);

通过send函数进行实际的访问

xmlhttp.send(null);

null表示没有参数,因为参数已经通过“GET" 方式,放在url里了。
只有在用"POST",并且需要发送参数的时候,才会使用到send。
类似这样:
xmlhttp.send("user="+username+"&password="+password)

4.在checkResult 函数中处理响应

function checkResult(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
document.getElementById('checkResult').innerHTML=xmlhttp.responseText;
}

xmlhttp.readyState 4 表示请求已完成
xmlhttp.status 200 表示响应成功
xmlhttp.responseText; 用于获取服务端传回来的文本
document.getElementById('checkResult').innerHTML 设置span的内容为服务端传递回来的文本

Ajax具体流程

  1. 创建XHR对象 2. 设置响应函数 3. 设置要访问的页面 4. 发出请求 5. 当服务端的响应返回,响应函数被调用。 6. 在响应函数中,判断响应是否成功,如果成功获取服务端返回的文本,并显示在span中。
输入账号 :
 

  

checkResult.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
 
<%
    String name = request.getParameter("name");
     
    if("abc".equals(name))
        out.print("已经存在");
    else
        out.print("可以使用");
     
%>

jQuery

定义

jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。

基础语法: $(selector).action()

  • 美元符号定义 jQuery
  • 选择符(selector)"查询"和"查找" HTML 元素
  • jQuery 的 action() 执行对元素的操作

实例:

  • $(this).hide() - 隐藏当前元素
  • $("p").hide() - 隐藏所有

    元素

  • $("p.test").hide() - 隐藏所有 class="test" 的

    元素

  • $("#test").hide() - 隐藏所有 id="test" 的元素

文档加载

您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready 函数中:

$(document).ready(function(){ // 开始写 jQuery 代码... });

这是为了防止文档在完全加载(就绪)之前运行 jQuery 代码,即在 DOM 加载完成后才可以对 DOM 进行操作。

如果在文档没有完全加载之前就运行函数,操作可能失败。下面是两个具体的例子:

  • 试图隐藏一个不存在的元素
  • 获得未完全加载的图像的大小

提示:简洁写法(与以上写法效果相同):

$(function(){ // 开始写 jQuery 代码... });

以上两种方式你可以选择你喜欢的方式实现文档就绪后执行 jQuery 方法。

具体操作

与javascript通过id获取元素节点的方式(document.getElementById )不同
JQuery通过 $("#id") 就可以获取了

需要注意的是,通过 document.getElementById 获取到的是 DOM里的 元素节点而通过$("#id") 获取到的是一个 JQuery 对象。

DOM和jQuery对象可以相互转化


 

 

隐藏和显示div


 

 

 

 


这是一个div

常见方法

取值

通过JQuery对象的val()方法获取值 相当于document.getElementById("input1").value;


$(function(){//获取d1内标签的HTML,包括标签和文本
   $("#b1").click(function(){
      alert($("#d1").html());
   });
});

  


Hello JQuery

切换css

直接设置CSS


选择器+筛选器

http://how2j.cn/k/jquery/jquery-selector/468.html#nowhere

配合操纵改变特定标签

$("# ")

获得各种属性 有各种效果函数,有简易的监听技术

简化使用Ajax

JQuery也有对AJAX的支持,使得其对AJAX的操作简化了很多

Ajax

$.ajax采用参数集的方式 {param1,param2,param3} 不同的参数之间用,隔开 第一个参数 url:page 表示访问的是page页面

第二个参数 data:{name:value} 表示提交的参数

第三个参数 success: function(){} 表示服务器成功返回后对应的响应函数


 
输入账号 :
get

.ajax的简化版,专门用于发送GET请求

("#checkResult").html(result);
}
);

$.get 使用3个参数
第一个参数: page 访问的页面
第二个参数: {name:value} 提交的数据
第三个参数: function(){} 响应函数
只有第一个参数是必须的,其他参数都是可选

post

.ajax的简化版,专门用于发送POST请求

("#checkResult").html(result);
}
);

$.post 使用3个参数
第一个参数: page 访问的页面
第二个参数: {name:value} 提交的数据
第三个参数: function(){} 响应函数
只有第一个参数是必须的,其他参数都是可选

load

load比起 .post 就更简单了
$("#id").load(page,[data]);
id: 用于显示AJAX服务端文本的元素Id
page: 服务端页面
data: 提交的数据,可选。 在本例中,直接在page里加上了参数列表


   
输入账号 :

使用json

方法链接

直到现在,我们都是一次写一条 jQuery 语句(一条接着另一条)。

不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。

提示: 这样的话,浏览器就不必多次查找相同的元素。

如需链接一个动作,您只需简单地把该动作追加到之前的动作上。

下面的例子把 css()、slideUp() 和 slideDown() 链接在一起。"p1" 元素首先会变为红色,然后向上滑动,再然后向下滑动:

实例

$("#p1").css("color","red").slideUp(2000).slideDown(2000);

你可能感兴趣的:(JQuery)