首页 > 代码库 > jQuery相关知识点1

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 进行了一轮查找,性能方面更加出色。

 

jQuery相关知识点1