jQuery相关知识点1
1--jQuery库中的$()是:
$()函数是jQuery()函数的简称。$()函数用于将任何对象包裹成jQuery对象,然后可以调用定义在jQuery对象上的多个不同方法。甚至可以将一个选择器字符串传入$()函数,则会返回一个包含所有匹配的dom元素数组的jQuery对象。
2—点击按钮时隐藏图片
$(“.button1”).click(function(){
$(“.image1”).hide();
})
3--$(document).ready()是个什么函数?为什么要用它
Ready()函数用于在文档进入ready状态时执行代码。当dom完全加载,jQuery允许你执行代码。使用$(document).ready()的最大好处在于它适用于所有浏览器,避免了跨浏览器的难题。
4—JavaScript window.load事件和jQuery ready函数的区别
² JavaScript window.load事件要等待dom被创建,还要等待包括大型图片、音频、视频在内的所有外部资源完全加载。如果加载图片和多媒体内容花费了大量时间,用户则会感受到定义在window.load事件上的代码在执行上有明显的延迟。Onload只能在单一函数里使用。
² jQuery ready()函数只需对dom的等待,而无需对图像或外部资源加载的等待,从而执行更快。jQuery ready函数可以在网页里多次使用它,浏览器会按它们在html页面里出现的顺序执行它们。
5—jQuery里的each()是什么函数?如何使用?
Each()函数,用来遍历集合中的元素。传一个函数给each()方法,被调用的jQuery对象会在其每个元素上执行传入的函数。
$('[name=NameOfSelectedTag] :selected').each(function(selected) {
alert($(selected).text());
});
6—如何将一个html元素添加到dom树中的?
通过appendTo()方法在指定的dom元素末尾添加一个现存的元素或者一个新的html元素。
7—利用jQuery选择所有在段落内部的超链接?
8--$(this)和this关键字在jQuery中的区别
$(this)返回一个jQuery对象,可以对其调用多个jQuery方法,如用text()获取文本,用val()获取值。而this代表当前元素,表示上下文中的当前dom元素,不能对其调用jQuery方法,除非它被$()函数包裹。
9--jQuery中有哪几种类型的选择器?
基本选择器:直接根据id、css类名、元素名返回匹配的dom元素。
层次选择器:也叫做路径选择器,可以根据路径层次来选择相应的DOM元素。
过滤选择器:在前面的基础上过滤相关条件,得到匹配的dom元素。
10—使用jQuery将页面上的所有元素边框设置为2px宽的虚线
$(“*”).css(“border”,”2px dotted red”);
11—通过jQuery实现点击按钮弹出一个对话框?
<input id=”inputField” type=”text” size=”12” />
$(document).ready(function(){
$(“#button1”).click(function(){
Alert($(“#inputField”).attr(“value”));
});
});
12--jQuery中的Delegate()函数有什么作用?
回答:delegate()会在以下两个情况下使用到:
(1)如果你有一个父元素,需要给其下的子元素添加事件,这时你可以使用delegate()了,代码如下:
$("ul").delegate("li", "click", function(){
$(this).hide();
});
(2)当元素在当前页面中不可用时,可以使用delegate()
13—jQuery编码和解码URL
encodeURIComponent(url)
decodeURIComponent(url)
14--如何用jQuery禁用浏览器的前进后退按钮?
$(document).ready(function() {
window.history.forward(1); //OR
window.history.forward(-1);
});
15—为什么使用jQuery
jQuery是轻量级框架,有强大的选择器,出色的dom操作的封装,可靠的事件处理机制,完善的ajax,出色的浏览器兼容性,而且支持链式操作,隐式迭代。行为层和结构层分离,支持丰富的插件,文档也非常丰富。
16—jquery和css两者选择器的不同
jQuery选择器支持css里的选择器。可以用来添加样式和相应的行为;css选择器只能添加样式。
17—jQuery对象和dom对象是怎么样转换的
jQuery转dom对象:jQuery对象是一个数组对象,可以通过[index]的丰富得到相应的dom对象,还可以通过get[index]得到相应的dom对象。
Dom对象转jQuery对象:$(DOM对象)
18—jquery中$.get()提交和$.post()提交的区别
$.get()方法使用GET方法进行异步请求;$.post()方法使用POST方法进行异步请求。
Get请求会将参赛跟在URL后进行传递;post请求则是作为http消息的实体内容发送给web服务器,这种传递对用户是不可见的。
Get方式传递的数据量要比post小。
Get方式请求的数据会被浏览器缓存起来,引起安全问题。
19—jQuery中的load方法的一般使用
load方法一般在载入远程html代码并插入到dom中的时候用,通常用来从服务器获取静态的数据文件。如果要传参的话,可以使用$.get()或$.post()
20—在jQuery中如何操作样式
addClass()追加样式、removeClass()删除样式、toggle()切换样式
21—jQuery是如何处理事件的
先加载文档,当页面加载完毕后,浏览器会通过JavaScript为dom元素添加事件。
22—jQuery中的动画
hide()和show()同时修改多个样式属性,如高度、宽度、不透明度。fadeIn()和fadeOut()、fadeTo()只改变透明度。
showUp()和slideDown()、slideToggle()只改变高度。
animate()属于自定义动画的方法
23—jquery插件
24—一般用什么提交数据,为什么
$.post()方法
如果需要设定beforeSend(提交前回调函数),error(失败后处理),success(成功后处理) ,complete(请求完成后处理)回调函数等,这个时候选择$.ajax()
25—jQuery中引入css有几种方式
行内式、内嵌式、导入式、链接式
26—jQuery实现动态添加和删除表格行?
27—jQuery中实现插入节点的方法及它们间的区别
append()、appendTo()、prepend()、prependTo()、after()、insertAfter()、before()、insertBefore()
大致分为内部追加和外部追加
append()表示向每个元素内部追加内容;appendTo()表示将所有的元素追加到指定的元素中。
28—包裹节点的方法及好处
wrapAll()、wrap()、wrapInner()
29—jQuery如何获取和设置属性?
attr()方法可以获取和设置元素属性
removeAttr()方法删除元素属性
30—jQuery中哪些方法可以遍历节点
children():取得匹配元素的子元素集合,只考虑子元素不考虑后代元素
next():取得匹配元素后面紧邻的同辈元素
prev():取得匹配元素前面紧邻的同辈元素
siblings():取得匹配元素前后的所有同辈元素
closest():取得最近的匹配元素
find():取得匹配元素中的元素集合,包括子代和后代
31—子元素选择器和后代元素选择器的区别
子元素:子节点下的所有元素
后代元素:子节点或子节点的子节点中的元素
32—beforeSend方法的作用
发送请求前可以修改XMLHttpRequest对象的函数,在beforeSend中如果返回false可以取消本次的ajax请求。XMLHttpRequest对象是唯一的参数,所以在这个方法里可以做验证。
33—在ajax中如何使用json
$.getJSON()用于加载json文件
34—有哪些查询节点的选择器?
:first查询第一个
:last 查询最后一个
:odd 查询奇数但是索引从0开始
:even 查询偶数
:eq(index) 查询相等的
:gt(index) 查询大于index的
:lt(index) 查询小于index的
:header 选取所有的标题
35—nextAll()和$(‘prev~siblings’)等价
36—jQuery有几种方法可以设置和获取样式
addClass()、attr()
37—jQuery是如何处理缓存的?
要处理缓存即是禁用缓存。
通过$.post()方法获取数据,那么默认就是禁用缓存的。
通过$.get()方法获取数据,可以通过设置时间戳来避免缓存。可以在URL后面加上+(+new Date)例$.get(‘ajax.xml?’+new Date),function(){});
通过ajax方法来获取数据,只要设置cache:false即可
38--$.getScript()方法和$.getJson()方法的区别
$.getScript():可以直接加载js文件,且不需要对js文件进行处理,js文件会自动执行
$.getJson():用于加载json文件
39--
$(“#msg”).text():返回id为msg的元素节点的文本内容
$(“#msg”).text(“<b>new content</b>”):将<b>new content</b>作为普通文本串写入id为msg的元素节点内容中,页面显示粗体的<b>new content</b>。
40—radio单选框组的第二个元素为当前选中值,该怎么去取
$(‘input[name=items]’).get(1).checked=true;
41—选择器中的id、class的区别
Id:每个id名称只能用一次
Class:可以重复使用
42—使用过哪些数据格式及其特点
Html格式:提供外部数据
Json格式:需要重用的数据
XML格式:当远程应用程序未知时,XML能够为良好的互操作性提供最可靠的保证。
43—jQuery能做什么
获取页面的元素、修改页面的外观、改变页面的内容、响应用户的页面操作、为页面添加动态效果、无需刷新页面,即可以从服务器获取信息、简化常见的JavaScript任务。
44—在ajax中data主要有几种方式?
三种:html拼接的、json数组、form表单经serialize()序列化的
45—jQuery中的hover()和toggle()的区别
hover()、toggle()都是jQuery中的两个合成事件。前者用于模拟光标悬停事件,后者用于连续点击事件。
46—jQuery中的事件冒泡是怎么执行的,如何阻止事件冒泡
事件冒泡就是从里面往外面触发。在jQuery中提供了stopPropagation()方法可以停止冒泡事件。
47--例如 单击超链接后会自动跳转,单击"提交"按钮后表单会提交等,有时候我想阻止这些默认的行为,该怎么办?
可以用 event.preventDefault()或在事件处理函数中返回false,即 return false;
48--jquery表单提交前有几种校验方法?分别为??
a) formData:返回一个数组,可以通过循环调用来校验
b) jaForm:返回一个jQuery对象,所有需要先转换成dom对象
c) fieldValue:返回一个数组beforeSend()
49--在jquery中你有没有编写过插件,插件有什么好处?你编写过那些插件?它应该注意那些?
a) 插件的好处:对已有的一系列方法或函数的封装,以便在其他地方重新利用,方便后期维护和提高开发效率
b) 插件的分类:封装对象方法插件 、封装全局函数插件、选择器插件
b) 注意的地方:
i. 1.插件的文件名推荐命名为jquery.[插件名].js,以免和其他的javaScript库插件混淆
ii. 2.所有的对象方法都应当附加到jQuery.fn对象上,而所有的全局函数都应当附加到jQuery对象本身上
iii. 3.插件应该返回一个jQuery对象,以保证插件的可链式操作
iv. 4.避免在插件内部使用$作为jQuery对象的别名,而应使用完整的jQuery来表示,这样可以避免冲突或使用闭包来避免
v. 5.所有的方法或函数插件,都应当一分好结尾,否则压缩的时候可能出现问题。在插件头部加上分号,这样可以避免他人的不规范代码给插件带来影响
vi. 6.在插件中通过$.extent({})封装全局函数,选择器插件,扩展已有的object对象通过$.fn.extend({})封装对象方法插件
50--jQuery 中的方法链是什么?使用方法链有什么好处?
方法链是对一个方法返回的结果调用另一个方法,这使得代码简洁明了,同时由于只对 DOM 进行了一轮查找,性能方面更加出色。