jquey面试必备

来源:互联网 发布:我想做淘宝怎么弄 编辑:程序博客网 时间:2024/06/06 14:02
1 哪种方式更高效:document.getElementbyId("myId") 还是 $("#myId")?
实际上,$("#air")[0]等同于 document.getElementById("air");
第一种,因为它直接调用了 JavaScript 引擎。


2 你要是在一个 jQuery 事件处理程序里返回了 false 会怎样?


这通常用于阻止事件向上冒泡。




3 jQuery 中的方法链是什么?使用方法链有什么好处?


方法链是对一个方法返回的结果调用另一个方法,这使得代码简洁明了,同时由于只对 DOM 进行了一轮查找,性能方面更加出色。


4  jQuery.get() 和 jQuery.ajax() 方法之间的区别是什么?


ajax() 方法更强大,更具可配置性, 让你可以指定等待多久,以及如何处理错误。get() 方法是一个只获取一些数据的专门化方法。


5 你如何利用jQuery来向一个元素中添加和移除CSS类? (答案)


通过利用 addClass() 和 removeClass() 这两个 jQuery 方法。动态的改变元素的class属性可以很简单例如. 使用类“.active"来标记它们的未激活和激活状态,等等.


6  . jQuery中 detach() 和 remove() 方法的区别是什么? (答案)


尽管 detach() 和 remove() 方法都被用来移除一个DOM元素, 两者之间的主要不同在于 detach() 会保持对过去被解除元素的跟踪, 因此它可以被取消解除, 而 remove() 方法则会保


持过去被移除对象的引用. 你也还可以看看 用来向DOM中添加元素的 appendTo() 方法.


7 你如何使用jQuery设置一个属性值? (答案)


前面这个问题之后额外的一个后续问题是,attr()方法和jQuery中的其它方法一样,能力不止一样. 如果你在调用attr()的同时带上一个值 例如. attr(name, value), 这里name是属性


的名称,value是属性的新值。




8 网页上有 5 个 <div> 元素,如何使用 jQuery来选择它们?


另一个重要的 jQuery 问题是基于选择器的。jQuery 支持不同类型的选择器,例如 ID 选择器、class 选择器、标签选择器。鉴于这个问题没提到 ID 和 class,你可以用标签选择器


来选择所有的 div 元素。jQuery 代码:$("div"),这样会返回一个包含所有 5 个 div 标签的 jQuery 对象。


9 jQuery 里的 ID 选择器和 class 选择器有何不同?(答案)
$('#LoginTextBox')  
$('.active') 


10   如何在点击一个按钮时使用 jQuery 隐藏一个图片?
$('#ButtonToClick').click(function(){
    $('#ImageToHide').hide();
}); 


11 $(document).ready() 是个什么函数?为什么要用它?


这个问题很重要,并且常常被问到。 ready() 函数用于在文档进入ready状态时执行代码。当DOM 完全加载(例如HTML被完全解析DOM树构建完成时),jQuery允许你执行代码。使用


$(document).ready()的最大好处在于它适用于所有浏览器,jQuery帮你解决了跨浏览器的难题。需要进一步了解的用户可以点击 answer链接查看详细讨论。


12 JavaScript window.onload 事件和 jQuery ready 函数有何不同?
回答1:onload()和document.ready()的区别有以下两点:


1、我们可以在页面中使用多个document.ready(),但只能使用一次onload()。


2、document.ready()函数在页面DOM元素加载完以后就会被调用,而onload()函数则要在所有的关联资源(包括图像、音频)加载完毕后才会调用。


3  document.ready() 兼容几乎所有的浏览器


回答2:这个问答是紧接着上一个的。JavaScript window.onload 事件和 jQuery ready 函数之间的主要区别是,前者除了要等待 DOM 被创建还要等到包括大型图片、音频、视频在内


的所有外部资源都完全加载。如果加载图片和媒体内容花费了大量时间,用户就会感受到定义在 window.onload 事件上的代码在执行时有明显的延迟。


另一方面,jQuery ready() 函数只需对 DOM 树的等待,而无需对图像或外部资源加载的等待,从而执行起来更快。使用 jQuery $(document).ready() 的另一个优势是你可以在网页里


多次使用它,浏览器会按它们在 HTML 页面里出现的顺序执行它们,相反对于 onload 技术而言,只能在单一函数里使用。鉴于这个好处,用 jQuery ready() 函数比用 JavaScript 


window.onload 事件要更好些。


13  如何找到所有 HTML select 标签的选中项?(答案如下)


这是面试里比较棘手的 jQuery 问题之一。这是个基础的问题,但是别期望每个 jQuery 初学者都知道它。你能用下面的 jQuery 选择器获取所有具备 multiple=true 的 <select > 标


签的选中项:


$('[name=NameOfSelectedTag] :selected')
这段代码结合使用了属性选择器和 :selected 选择器,结果只返回被选中的选项。你可按需修改它,比如用 id 属性而不是 name 属性来获取 <select> 标签。


14 jQuery 里的 each() 是什么函数?你是如何使用它的?(答案如下)


each() 函数就像是 Java 里的一个 Iterator,它允许你遍历一个元素集合。你可以传一个函数给 each() 方法,被调用的 jQuery 对象会在其每个元素上执行传入的函数。有时这个问


题会紧接着上面一个问题,举个例子,如何在 alert 框里显示所有选中项。我们可以用上面的选择器代码找出所有选中项,然后我们在 alert 框中用 each() 方法来一个个打印它们,


代码如下:


$('[name=NameOfSelectedTag] :selected').each(function(selected) {
    alert($(selected).text());
});


15   你是如何将一个 HTML 元素添加到 DOM 树中的?(答案如下)


你可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加到 DOM 树中。这是 jQuery 提供的众多操控 DOM 的方法中的一个。你可以通过 appendTo() 方法在指定的 DOM 元素末尾添


加一个现存的元素或者一个新的 HTML 元素。




16 $(this) 和 this 关键字在 jQuery 中有何不同?(答案如下)
jquery对象$(this)[0]等同于JS里的元素this,而jquery的对象只要加上[0]或者.get(0),就是js元素了,很简单的


这对于很多 jQuery 初学者来说是一个棘手的问题,其实是个简单的问题。$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获


取值等等。而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。




17 当然你也可以用jQuery来代替$,


18 jQuery中有哪几种类型的选择器?


1、基本选择器:直接根据id、css类名、元素名返回匹配的dom元素。


2、层次选择器:也叫做路径选择器,可以根据路径层次来选择相应的DOM元素。


3、过滤选择器:在前面的基础上过滤相关条件,得到匹配的dom元素。


19 请使用jQuery将页面上的所有元素边框设置为2px宽的虚线?
<script language="javascript" type="text/javascript">
         $("*").css("border", "2px dotted red"); 
</script>


20 怎样用jQuery编码和解码URL?


回答:在jQuery中,我们可以使用以下方法实现URL的编码和解码。


encodeURIComponent(url) and decodeURIComponent(url)


21 如何用jQuery禁用浏览器的前进后退按钮?


<script type="text/javascript" language="javascript">


$(document).ready(function() {


     window.history.forward(1);


     //OR


     window.history.forward(-1);


});


</script>




22 那么ajax就会默认type="Get",


23 你知道jquery中的选择器吗,请讲一下有哪些选择器?   
 答:jQuery中的选择器大致分为:基本选择器,层次选择器,过滤选择器,表单选择器 


24 jquery中的选择器和css中的选择器有区别吗?   


答:jQuery选择器支持CSS里的选择器,jQuery选择器可用来添加样式和添加相应的行为  CSS 中的选择器是只能添加相应的样式 


25  你觉得jquery中的选择器有什么优势?   
 答:简单的写法  $('ID') 来代替document.getElementById()函数支持CSS1 到CSS3 选择器  完善的处理机制(就算写错了id也不会报错


26  你在使用选择器的时候有有没有什么觉得要注意的地方?  
答: 1 选择器中含有".","#","[" 等特殊字符的时候需要进行转译    2 属性选择器的引号问题    3 选择器中含有空格的注意事项 


27  你觉得jquery中的ajax好用吗,为什么? 
 答: 好用的。     因为jQuery提供了一些日常开发中夙瑶的快捷操作,例 load,ajax,get,post等等,所以使用jQuery开发ajax将变得极其简单,我们就可以集中精力在业务和用户
28 jquery中$.get()提交和$.post()提交有区别吗?    答: 1 $.get() 方法使用GET方法来进行异步请求的。$.post() 方法使用POST方法来进行异 步请求的。   2 get请求会将参数


跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器的,这种传递是对用户不可见的。  3 get方式传输的数据大小不能超过2KB 而POST要大的多   4 GET 方


式请求的数据会被浏览器缓存起来,因此有安全问题。 的体验上,不需要去理会那些繁琐的XMLHttpRequest对象了。  


29 在jquery中你是如何去操作样式的?  
 答: addClass() 来追加样式   removeClass() 来删除样式   toggle() 来切换样式


30 你在jquery中使用过哪些插入节点的方法,它们的区别是什么?  
答:append(),appendTo(),prepend(),prependTo(),after(),insertAfter() 
31 你jquery中有哪些方法可以遍历节点?   


答:children() 取得匹配元素的子元素集合,只考虑子元素不考虑后代元素   next() 取得匹配元素后面紧邻的同辈元素  
prev() 取得匹配元素前面紧邻的同辈元


素   siblings() 取得匹配元素前后的所有同辈元素    closest() 取得最近的匹配元素    
find() 取得匹配元素中的元素集合包括子代和后代




32 在jquery中可以替换节点吗?   


答:可以在jQuery中有两者替换节点的方式    replaceWith() 和replaceAll()    
例如在<p title="hao are you">hao are you</p>替换


成    <strong>I am fine<strong>    
$('p').replaceWith('<strong>I am fine</strong>');    replaceAll与replaceWith的用法前后调换一下即可。


33 你在ajax中使用过JSON吗,你是如何用的?   
答:使用过,在$.getJSON() 方法的时候就是。   因为 $.getJSON() 就是用于加载JSON文件的


34 有哪些查询节点的选择器?   
答:我在公司使用过  :first 查询第一个, 








下载文档到电脑,查找使用更方便
1下载券  9人已下载




下载








还剩2页未读,继续阅读
















好的工作


首先需要一份好的简历


立即定制简历








            /* pc阅读页3-4页间(新) */
            var cpro_id = "u2845472";
        














:last 查询最后一个, 
:odd查询奇数但是索引从0


开始    :even 查询偶数,:eq(index)查询相等的 
:gt(index)查询大于index的 ,:lt查询小于index    :header 选取所有的标题等 




35 nextAll() 能替代$('prev~siblindgs')选择器吗?  


答:能。使用nextAll() 和使用$('prev~siblindgs') 是一样的 


36  jQuery是如何处理缓存的?   
答:要处理缓存就是禁用缓存.  
1 通过$.post() 方法来获取数据,那么默认就是禁用缓存的。    2 通过$.get()方法来获取数据,可以通过设置时间戳来避免缓


37  $("#msg").text(); 和 $("#msg").text("<b>new content</b>");有什么区别? 
 答1 $("#msg").text() 是返回id为msg的元素节点的文本内容     2 $("#msg").text("<b>new content</b>"); 是将“<b>new content</b>”作为普通文本串写入id为msg的元素节点


内容中,页面显示粗体的<b>new content</b>存。     可以在URL后面加上+(+new Date)     例 $.get('ajax.xml?'+(+new Date),function () { //内容}); 


38radio单选组的第二个元素为当前选中值,该怎么去取?   
答 : $('input[name=items]').get(1).checked = true;


39 选择器中 id,class有什么区别?   
答:在网页中每个id名称只能用一次,class可以允许重复使用 


40   jQuery能做什么?   


答:1 获取页面的元素    2 修改页面的外观    3 改变页面大的内容    4 响应用户的页面操作    5 为页面添加动态效果    
6 无需刷新页面,即可以


从服务器获取信息    7 简化常见的javascript任务  




41 jQuery中的hover()和toggle()有什么区别?   


答 hover()和toggle()都是jQuery中两个合成事件。hover()方法用于模拟光标悬停事件。 toggle()方法是连续点击事件。


42 例如单击超链接后会自动跳转,单击"提交"按钮后表单会提交等,有时候我想阻止这些默认的行为,该怎么办?  
 
答: 可以用event.preventDefault()或在事件处理函数中返回false,即 return false;


43 插件


就是封装好的一个juery方法
原创粉丝点击