jQuery面试题常见

时间:2024-11-19 07:21:25

一.你为什么要使用jQuery?你觉得jquery有哪些好处?
1、因为jQuery是轻量级的框架,大小不到30kb
2、它有强大的选择器,出色的DOM操作的封装
3、有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠)
4、完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。)
5、出色的浏览器的兼容性
6、支持链式操作,隐式迭代

二.(document).ready() $(functiion({}))方法和有什么区别?
两个方法的功能相似,但在实行时机方面是有区别的
1、方法是在网页中所有的元素完全加载到浏览器后才执行
2、 (document).ready() 可以在DOM载入就绪是就对其进行操纵,并调用执行绑定的函数

三.jQuery中的选择器

大致分为:基本选择器,层次选择器,表单选择器
基本选择器:id选择器,标签选择器,类选择器等
层次选择器:如:$ ("form input") 选择所有的form元素中的input元素 $("#main > *")选择id为main的所有子元素
过滤选择器:如:$ ("tr:first")选择所有tr元素的第一个  $("tr:last")选择所有tr元素的最后一个
表单选择器:如:$ (":input")选择所有的表单输入元素 $(":text")选择所有的text的input元素
  • 1
  • 2
  • 3
  • 4
  • 5

四.jQuery的美元符号$有什么作用?

其实美元符号$只是”jQuery”的别名,它是jQuery的选择器,如下代码:
$(document).ready(function(){  
 
});
当然你也可以用jQuery来代替$,如下代码:
jQuery(document).ready(function(){  
 
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

五. jQuery对象和DOM对象是怎样转换的
jQuery对象是一个包含了dom对象的数组 可以通过jQuery对象[下标]获取dom对象
将dom对象放入$("")中转为jQuery对象

六. jQuery中.get()提交和$.post()提交的区别


1、$.get()使用GET方法来进行异步提交 $.post()使用POST方法来进行异步提交
2、get请求方式将参数跟在url后进行传递用户可见 post请求则是作为http消息的实体内容发送给服务器,用户不可见
3、post传输数据比get大
4、get请求的数据会被浏览器缓存 不安全
  • 1
  • 2
  • 3
  • 4
  • 5

七. 怎么使用jQuery中的动画

隐藏:hide()
显示:show()
淡入淡出:fadeIn()==淡入(显示) fadeOut()==淡出(消失)
滑动:slideUp()==向上滑动 slideDown()==向下滑动

八. jQuery中使用过哪些插入节点的方法,他们的区别是什么


在元素内部添加
append:向每个匹配的元素内部追加内容 
        <p>我想说:</p>
        $("p").append("<b>你好</b>") 
        <p>我想说:<b>你好</b></p>
        
prepend:向每个匹配的元素内部前置添加内容 
        <p>我想说:</p> 
        $("p").prepend("<b>你好</b>") 
        <p><b>你好</b>我想说:</p>

在元素外部添加
after:在每个匹配元素之后插入内容 
        <p>我想说:</p> 
        $("p").after("<b>你好</b>") 
        <p>我想说:</p><b>你好</b>

before:在每个匹配的元素之前插入内容 
        <p>我想说:</p> 
        $("p").before("<b>你好</b>") 
        <b>你好</b><p>我想说:</p>


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

九. jQuery中如何来获取和设置属性

可以用attr()获取和设置元素属性
removeAttr()方法来删除元素属性

十.如何来设置和获取HTML和文本的值?

获取HTMl:$("选择器").html()
获取文本的值:$("选择器").text() 
  • 1
  • 2

十一. jQuery中有哪些方法可以遍历节点?

children():获取匹配元素的子元素集合,不考虑后代元素 $(function(){$("div").children()})
next()获取匹配元素后面紧邻的同级元素
prev()获取匹配元素前紧邻的同级元素
siblings()获取匹配元素前后的所有同辈元素
  • 1
  • 2
  • 3
  • 4

十二. 什么是JSON,在什么情况下使用?
  JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.JSON采用完全独立于语言的文本格式.
  JSON最常见的用法之一,是从web服务器上读取JSON数据,将JSON数据转换为JavaScript对象,然后在网页中使用该数据.

十三.jQuery中常见的几种函数以及他们的含义是什么?

  jQuery中常见的函数如下: 
  1)get()取得所有匹配的DOM元素集合. 
  2)get(index)取得其中一个匹配的元素.index表示取得第几个匹配的元素. 
  3)append(content)向每个匹配的元素内部追加内容. 
  4)after(content)在每个匹配的元素之后插入内容. 
  5)html()/html(var)取得或设置匹配元素的html内容. 
  6)find(expr)搜索所有与指定表达式匹配的元素. 
  7)bind(type,[data],fn)为每个匹配元素的特定事件绑定事件处理函数. 
  8)empty()删除匹配的元素集合中所有的子节点. 
  9)hover(over,out)一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法. 
  10)attr(name)取得第一个匹配元素的属性值. 
  11)addClass(class)和removeClass(class)为指定的元素添加或移除样式. 
  12)css(name)访问第一个匹配元素的样式属性. 
  13)ajax([options])通过HTTP请求加载远程数据. 
  14)get(url,[data],[callback],[type])通过远程HTTP GET请求载入信息. 
  15)post(url,[data],[callback],[type])通过远程HTTP POST请求载入信息. 
  16)load(url,[data],[callback])载入远程HTML文件代码并插入至DOM中.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

十四.AJAX都有哪些优点和缺点?

1、最大的一点是页面无刷新,用户的体验非常好。
2、使用异步方式与服务器通信,具有更加迅速的响应能力。
3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。
4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

ajax的缺点
1、ajax不支持浏览器back按钮。
2、安全问题 AJAX暴露了与服务器交互的细节。
3、对搜索引擎的支持比较弱。
4、破坏了程序的异常机制。
5、不容易调试

十五. AJAX最大的特点是什么。
Ajax可以实现动态不刷新(局部刷新)
就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

十六. 怎么阻止冒泡过程?

stopPropagation(); // 阻止冒泡过程
  • 1

十七. .bind()方法绑定事件有了解吗?

bind(type,[data],fn);
绑定类型: blur, focus, load, resize, scroll, unload, click, dblclick, mousedown, mouseup, select, submit , keydown, keypress, keyup, error, mousemove, mouseover, mouseout, mouseenter, mouseleave, change
$("#btn").bind("click", function(){});
$(".txt").bind("focus", { msg: message }, function(event){ // 获取数据  });
  • 1
  • 2
  • 3
  • 4

十八. hover()方法和toggle()方法区别?

$("a").hover(function(){ // 执行一 }, function() { // 执行二 });
hover(over, out)
$("a").mouseenter(function(){});
$("a").mouseleave(function(){});
  • 1
  • 2
  • 3
  • 4

十九. .使用animate()方法

$("p").animate({height: "hide", width: "hide", opacity: "hide" }, 300);
$("p").hide(300);
$("p").animate({ opacity: "hide" }, 300);
$("p").fadeOut(300);
$("p").animate( {height: "hide" }, 300);
$("p").slideUp(300);
$("p").animate( {opacity: "0.8" }, 300);
$("p").fadeTo(300, "0.8");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8