- 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 选取所有的上传域
- jQuery获取当前窗口的宽度值、高度值,通过$(window).width()==window.innerWidth、$(window).height()==window.innerHeight来实现该功能。
- 绑定事件处理函数是bind("click",function(){};
- 为找到所有元素的同辈元素,可以使用siblings
- jQuery中_ .parent() __可以遍历父元素,_.parents()___可以遍历祖先元素?
- height()标签可以实现元素的高度变化
- _ 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()可以把元素的不透明度以渐进方式调整到指定位置
- 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 :选中正在执行动画的元素
- val()、 value()、 text()、 html()的含义
val(): 返回或设置被选元素的值
value():设置或返回被选元素的属性值
text():获取或者改变指定元素的文本
html():获取或改变指定元素的html元素以及文本
:input 选取所的<input><textarea><selsct><button>元素 :submit 选取所有的提交按钮
:text 选取所有的单行文本框 :image 选取所有的图像按钮
:password 选取所有的密码框 元素 :reset 选取所有的重置按钮
:radio 选取所有的单选框 :button 选取所有的按钮
:checkbox 选取所有的多选框 :file 选取所有的上传域
- 鼠标移动鼠标移除分别触发了什么事件?
Onmouseover、onmouseout
- enabled()、disabled()的含义
:enabled 选择器选取所有启用的表单元素
:disabled 选择器选取所有禁用的表单元素
- 在原生ajax中,readyState的哪个值表示从服务器正常返回数据? 3
0-未初始化,尚未调用open()方法;
1-启动,调用了open()方法,未调用send()方法;
2-发送,已经调用了send()方法,未接收到响应;
3-接收,已经接收到部分响应数据;
4-完成,已经接收到全部响应数据;
- 在原生ajax中,需要使用哪个属性获取服务器相应状态码(xhr.status)
- 在原生ajax中,正确调用了open方法的写法?
open(method,url,async)、 send(string)
- $.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访问认证请求的用户名。
- $.get()方法的事件参数的使用?
它的语法结构为: $.get( url [, data] [, callback] [, type] )
- 在一个表单里,想要找到指定元素的第一个元素用_first__实现?
想要找到指定元素的第二个元素用__eq(1)___实现?
- jQuery中$(this).get(0)的写法是和_$(this)[0]_____等价的?
- jQuery的特点?
JQuery理念:写的更少,做得更多
(1)轻量级(2)强大的选择器:以强大的CSS选择器为基础,几乎所有的操作都先使用选择器查找DOM对象,然后对其进行各种操作。(3)出色的dom封装(4)可靠地事件处理机制(5)完善的ajax:(6)出色的浏览器兼容性(7)链式操作方式(提高开发效率)
(8)隐式迭代方式 (不用使用for、while循环就可以完成)(9)行为层与结构层相分离
(10)丰富的插件支持(11)开源
- jQuery中替换节点可以用_ replaceWith() _或_ replaceAll() _实现?
- 在jQuery中,想让一个元素隐藏用_ hide() _方法实现,想让隐藏的元素显示出来,用_ show() _方法实现?
- jQuery中html()和text()的区别?
text():获取或者改变指定元素的文本
html():获取或改变指定元素的html元素以及文本
- 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对象)
- 可以看一下 下面的编程题:
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格式???
//将响应写回浏览器端???
}
}
要求:当点击“检索所有人信息”按钮时,完成人员自动检索功能