首页 前端知识 jQuery Ajax重点

jQuery Ajax重点

2025-03-27 13:03:27 前端知识 前端哥 154 222 我要收藏
  1. jQuery的选择器包括

1.基本选择器

(1)id选择器:#id名称

(2)类选择器:. 类名

(3)标签选择器:标签名

(4)* :代表的是所有的标签(5)选择器1,选择器2,....选择器N

2.层次选择器

ancestor descendant:祖先 后代       form > input  :父元素与子元素的关系

form + input :紧接在form元素后的下一个input标签 form ~ input  :选取form元素之后的input同辈元素

siblings()与前后位置无关选取,所有的同辈元素

3.过滤选择器

(1)基本过滤选择器:                                     

(2)内容过滤选择器:

:first :选取的第一个元素                   

 :contains(text):选取文本内容为text的元素

:last :选取的最后一个元素                       

 :empty    :选取子元素为空的元素

:not(选择器):除了括号内的选择器以外,其他的选中     

:parent :选取子元素有值的元素

:even :选取偶数的所有元素,索引值从0开始       

div:has(p) :选取包含p段落的div块

:odd :选取奇数的所有元素,索引值从0开始              

 (3)可见性过滤选择器

:eq(index) :选取索引值等于index 的值,索引值从0开始   

 :hidden :选中不可见元素

:gt(index) :选取索引值大于index 的值,索引值从0开始      

 :visible :选中可见元素

:lt(index) :选取索引值小于index 的值,索引值从0开始      

 (4)属性过滤选择器

:header:选中所有的标题元素                            

 (5)子元素过滤选择器

:animated :选中正在执行动画的元素    如:nth-child(2):选取第二行(索引值是从1开始)**8

(6)表单对象属性过滤选择器:

4、表单选择器                                      :hidden 选取所有的不可见元素

:input 选取所的<input><textarea><selsct><button>元素    :submit 选取所有的提交按钮

:text  选取所有的单行文本框                         :image  选取所有的图像按钮

:password 选取所有的密码框 元素                     :reset  选取所有的重置按钮

:radio     选取所有的单选框                         :button 选取所有的按钮

:checkbox  选取所有的多选框                         :file    选取所有的上传域

  1. jQuery获取当前窗口的宽度值、高度值,通过$(window).width()==window.innerWidth$(window).height()==window.innerHeight来实现该功能。
  2. 绑定事件处理函数是bind("click",function(){};
  3. 为找到所有元素的同辈元素,可以使用siblings
  4. jQuery中_ .parent() __可以遍历父元素,_.parents()___可以遍历祖先元素?
  5. height()标签可以实现元素的高度变化
  6. _ text() ___能够获取或设置元素的文本内容

基本动画:

show() 显示隐藏的元素$(”element”).show();

hide()  隐藏显示的元素$(“element”).hide();

fideIn() 降低元素的不透明度

fideOut() 提高元素的不透明度

slideUp()  只会改变元素的高度,从下到上隐藏

slideDown() 只会改变元素的高度,从上到下显示

自定义动画方法:

animate(): animate(params一个包含样式属性及值的映射,speed速度参数,callback在动画完成时执行的函数)

         ep:animate({left:500px,height:200px},3000)

累加、累减动画:在之前是设置的参数前加上”+=”或者”-=”就表示累加或者累减

callback():回调函数(callback)对非动画方法实现排队。

stop()语法stop([clearQuery],[ gotoEnd])

clearQuery:是否清空未执行完的动画队列。

gotoEnd:是否直接将正在执行的动画跳转到末状态

Stop() 立即停止当前正在进行的动画

Stop(true)程序会把当前元素接下来尚未执行完的动画队列都清空

Stop(true,true)停止当前动画并直接到达当前动画的末状态,并清空动画队列

Stop(false,true)让当前动画直接到达末状态

:animated当用户快速在某个元素上执行animate()动画时,就会出现动画积累,判断元素是否正处于动画状态,如果元素不处于动画状态,才为元素添加新的动画,否则不添加。

交互动画方法:

Toggle()可以切换元素的可见状态

slideToggle()通过高度变化来切换匹配元素的可见性

fadeTo()可以把元素的不透明度以渐进方式调整到指定位置

  1. gt()、lt()、eq()、odd()等的含义

:first  :选取的第一个元素                         

:last  :选取的最后一个元素                            

:not(选择器):除了括号内的选择器以外,其他的选中        

:even  :选取偶数的所有元素,索引值从0开始*********    

:odd   :选取奇数的所有元素,索引值从0开始           

:eq(index)  :选取索引值等于index 的值,索引值从0开始    

:gt(index)  :选取索引值大于index 的值,索引值从0开始    

:lt(index)  :选取索引值小于index 的值,索引值从0开始   

:header    :选中所有的标题元素                        

:animated  :选中正在执行动画的元素

  1. val()、 value()、 text()、 html()的含义

val(): 返回或设置被选元素的值

value():设置或返回被选元素的属性值

text():获取或者改变指定元素的文本
html():获取或改变指定元素的html元素以及文本

:input 选取所的<input><textarea><selsct><button>元素    :submit 选取所有的提交按钮

:text  选取所有的单行文本框                         :image  选取所有的图像按钮

:password 选取所有的密码框 元素                     :reset  选取所有的重置按钮

:radio     选取所有的单选框                         :button 选取所有的按钮

:checkbox  选取所有的多选框                         :file    选取所有的上传域

  1. 鼠标移动鼠标移除分别触发了什么事件?

Onmouseoveronmouseout

  1. enabled()、disabled()的含义

:enabled 选择器选取所有启用的表单元素

:disabled 选择器选取所有禁用的表单元素

  1. 在原生ajax中,readyState的哪个值表示从服务器正常返回数据?   3

0-未初始化,尚未调用open()方法;
1-启动,调用了open()方法,未调用send()方法;
2-发送,已经调用了send()方法,未接收到响应;
3-接收,已经接收到部分响应数据;
4-完成,已经接收到全部响应数据;

  1. 在原生ajax中,需要使用哪个属性获取服务器相应状态码(xhr.status
  2. 在原生ajax中,正确调用了open方法的写法?

open(method,url,async)、 send(string)

  1. $.ajax(options) 方法的事件参数有?

async (Boolean) : (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。

beforeSend (Function) : 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。XMLHttpRequest 对象是唯一的参数

cache (Boolean) : (默认: true,dataType为script时默认为false) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。

complete (Function) : 请求完成后回调函数 (请求成功或失败时均调用)。参数: XMLHttpRequest 对象和一个描述成功请求类型的字符串。

contentType (String) : (默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。

data (Object,String) : 发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。

dataFilter (Function) :给Ajax返回的原始数据的进行预处理的函数。提供data和type两个参数:data是Ajax返回的原始数据,type是调用jQuery.ajax时提供的dataType参数。函数返回的值将由jQuery进一步处理。

dataType (String) : 预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值

error (Function) : (默认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象。

global (Boolean) : (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件

ifModified (Boolean) : (默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。

jsonp (String) : 在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

password (String) : 用于响应HTTP访问认证请求的密码。

processData (Boolean) : (默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。

scriptCharset (String) : 只有当请求时dataType为"jsonp"或"script",并且type是"GET"才会用于强制修改charset。通常在本地和远程的内容编码不同时使用。

success (Function) : 请求成功后回调函数。参数:服务器返回数据,数据格式。Ajax 事件

timeout (Number) : 设置请求超时时间(毫秒)。此设置将覆盖全局设置。

type (String) : (默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 Delete 也可以使用,但仅部分浏览器支持。

url (String) : (默认: 当前页地址) 发送请求的地址。

username (String) : 用于响应HTTP访问认证请求的用户名。

  1. $.get()方法的事件参数的使用?

它的语法结构为: $.get( url [, data] [, callback] [, type] )

  1. 在一个表单里,想要找到指定元素的第一个元素用_first__实现?

想要找到指定元素的第二个元素用__eq(1)___实现?

  1. jQuery中$(this).get(0)的写法是和_$(this)[0]_____等价的?
  2. jQuery的特点?

JQuery理念:写的更少,做得更多

(1)轻量级(2)强大的选择器:以强大的CSS选择器为基础,几乎所有的操作都先使用选择器查找DOM对象,然后对其进行各种操作。(3)出色的dom封装(4)可靠地事件处理机制(5)完善的ajax:(6)出色的浏览器兼容性(7)链式操作方式(提高开发效率)

(8)隐式迭代方式 (不用使用for、while循环就可以完成)(9)行为层与结构层相分离

(10)丰富的插件支持(11)开源

  1. jQuery中替换节点可以用_ replaceWith() _或_ replaceAll() _实现?
  2. 在jQuery中,想让一个元素隐藏用_ hide() _方法实现,想让隐藏的元素显示出来,用_ show() _方法实现?
  3. jQuery中html()和text()的区别?

text():获取或者改变指定元素的文本
html():获取或改变指定元素的html元素以及文本

  1. jQuery对象和dom对象之间的区别,并举例说明两者如何互相转换?

jQuery—>DOM:var test = $("#test")[0];    //jQuery对象是一个数组,可通过索引得到DOM对象

或var test = $("#test").get(0);  //用jQuery提供的get(index)方法得到DOM对象

DOM—>jQuery:var test = document.getElementById("test");

var $test = $(test); //用jQuery的工厂方法,$(DOM对象)

  1. 可以看一下  下面的编程题:

HTML:

<html>

  <head>

    <base href="<%=basePath%>">

    

    <title>My JSP 'search.jsp' starting page</title>

    <script type="text/javascript" src="js/search.js"></script>

  </head>

  <body>

    <input type="button" id="searchall" value="检索所有人信息" onclick="showUser()">

  </body>

</html>

Search.js

var xhr;

function createXhr(){

try{

xhr=new XMLHttpRequest();

}catch(e){

try{

xhr=new ActiveXObject('Micosoft.XMLHTTP');

}catch(e){

xhr=new ActiveXObject('Msxml2.XMLHTTP');

}

}

}

function showUser(){

createXhr();

xhr.onreadystatechange=callback;

xhr.open("get","SeachServlet",true);

xhr.send(null);

function callback(){

if(xhr.readyState==4){

if(xhr.status==200){

var persontable=document.createElement("table");

    persontable.setAttribute("border", "1");

    persontable.setAttribute("width", "80%");

    var newRow0=persontable.insertRow(0);

    var newCell0=newRow0.insertCell(0);

    newCell0.innerHTML="姓名";

    var newCell1=newRow0.insertCell(1);

    newCell1.innerHTML="年龄";

    //获取响应数据

<!—在此添加你的代码-->

    //得到响应数据,解析json格式???

    for(var i=0;i<persons.length;i++){

    person=persons[i];

    var newPersonRow=persontable.insertRow(i+1);

    var newPersonCell0=newPersonRow.insertCell(0);

    newPersonCell0.innerHTML=person.username;

    var newPersonCell1=newPersonRow.insertCell(1);

    newPersonCell1.innerHTML=person.age;

    }

    document.getElementsByTagName("body")[0].appendChild(persontable);

    }

}

}

}

SeachServlet.java

public class SeachServlet extends HttpServlet {

@Override

public void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

List<Person> personlist=new ArrayList<Person>();

personlist.add(new Person("张三","12"));

personlist.add(new Person("李四","21"));

<!—在此添加你的代码-->

//自动打包成json格式???

//将响应写回浏览器端???

}

}

要求:当点击“检索所有人信息”按钮时,完成人员自动检索功能

转载请注明出处或者链接地址:https://www.qianduange.cn//article/24436.html
标签
评论
发布的文章

【Linux笔记】基础IO(上)

2025-03-27 13:03:40

大家推荐的文章
会员中心 联系我 留言建议 回顶部
浏览器升级提示:您的浏览器版本较低,建议您立即升级为知了极速浏览器,极速、安全、简约,上网速度更快!立即下载
复制成功!