jquery面试需要看的基本东西
1. offset() 方法的学习
offset().left offset().top 表示离document的距离。(浏览器可以看到的地方的距离)
2. position与offset的区别:
a.使用position()方法时事实上是把该元素当绝对定位来处理,获取的是该元素相当于最近的一个拥有绝对或者相对定位的父元素的偏移位置。
b.使用position()方法时如果其所有的父元素都为默认定位(static)方式,则其处理方式和offset()一样,是当前窗口的相对偏移。
c.使用offset()方法不管该元素如何定位,也不管其父元素如何定位,都是获取的该元素相对于当前视口的偏移。
3.$(window).scrollTop() scroll这个事件。
4.
$("img").each(function(i){
this.src = "test" + i + ".jpg";
});
[ <img src="test0.jpg" />, <img src="test1.jpg" /> ]
5.jquery 的each循环用return false; //跳出循环
$("img").size(); 计算元素个数。
6.$("img").length;
7.返回传给jQuery()的原始选择器。
$("ul")
.append("<li>" + $("ul").selector + "</li>")
.append("<li>" + $("ul li").selector + "</li>")
.append("<li>" + $("div#foo ul:not([class])").selector + "</li>");
结果:
ul
ul li
div#foo ul:not([class])
9.重点中的重点:
取得其中一个匹配的元素。 num表示取得第几个匹配的元素。
10. jquery的detach方法。
11.
这能够让你选择一个实际的DOM 元素并且对他直接操作,而不是通过 jQuery 函数。$(this).get(0)与$(this)[0]等价。
<img src="test1.jpg"/> <img src="test2.jpg"/>
$("img").get(0);
[ <img src="test1.jpg"/> ]
-----------------------------------------------------
<img src="test1.jpg"/> <img src="test2.jpg"/>
$("img").get().reverse();
[ <img src="test2.jpg"/> <img src="test1.jpg"/> ]
这里只是数组中的值位置换了,但是页面中并没有变化。
10.prev ~ siblings 匹配 prev 元素之后的所有 siblings 元素(siblings作为第一个选择器的同辈)
11. jquery的width,innerWidth,outerWidth
这个我们知道,width指的是content的width.
innerWidth指的是包含padding的距离。
outerWidth指的是包含border的距离。
12. jquery的each方法
无参数的时候;
$("button").click(function(){
$("li").each(function(){
alert($(this).text())
});
});
$(selector).each(function(index,element))
13.
html代码:
<img src="test1.jpg"/> <img src="test2.jpg"/>
$("img").size();
结果:2
14.
html代码:<img src="test1.jpg"/> <img src="test2.jpg"/>
jquery代码:$("img").length;
显示结果:2
15.
jquery代码:$("ul")
.append("<li>" + $("ul").selector + "</li>")
.append("<li>" + $("ul li").selector + "</li>")
.append("<li>" + $("div#foo ul:not([class])").selector + "</li>");
显示结果:ul
ul li
div#foo ul:not([class])
16.
$('.yan1 .yan2').bind('click',function(){
alert($(this).index());
},function(){alert('hellor world')});
这样写点击之后只会触发一个函数。hello world这个函数。
17. data的用法()
$("div").data("blah", "hello"); // blah设置为hello
$("div").data("blah"); // hello
第二种用法:
<img class='yan3' src="test2.jpg" data-flag='yanjinyun'/>
$('.yan3').data('flag')
第三种用法:
<img class='yan4' src="test2.jpg" data-flag-name='yanjinyun2'/>
$('.yan4').data('flagName')
18.removeData
这个方法是不能移除标签中的属性的,只能通过,
$('.yan3').removeData('flag');//这个方法只是删除缓存。
$('.yan3').removeAttr('data-flag');
19.队列控制
queue(e,[q])
dequeue([queueName])
clearQueue([queueName])
20.
jquery如果类似于disable等属性,用prop属性,其他的用attr属性。
21.position方法是相对最近的一个相对的距离。
22. juqery中$('div')表示的是div的元素。而$('<div>')表示是创建一个div元素。
$('<div></div>')也是。
23.wrap是每个都添加一个,而wrapAll是每个都添加一个。
24.
参数html描述:
把所有段落内的每个子内容加粗
jQuery 代码:
$("p").wrapInner("<b></b>");参数elem描述:
把所有段落内的每个子内容加粗
jQuery 代码:
$("p").wrapInner(document.createElement("b"));
25.
HTML 代码:
<div class="container">
<div class="inner">Hello</div>
<div class="inner">Goodbye</div>
</div>jQuery 代码:
$('.inner').wrapInner(function() {
return '<div class="' + $(this).text() + '" />';
});结果:
<div class="container">
<div class="inner">
<div class="Hello">Hello</div>
</div>
<div class="inner">
<div class="Goodbye">Goodbye</div>
</div>
</div>
26. animate
$('.yan1').animate({marginTop:'300px'},2000);
(1)必须写大括号,(2)如果有-的必须用大写代替。
27.queue函数
显示队列长度
$("#show").click(function () {
var n = $("div").queue("fx");
$("span").text("Queue length is: " + n.length);
});
function runIt() {
$("div").show("slow");
debugger;//1
$("div").animate({left:'+=200'},2000);
$("div").slideToggle(1000);
$("div").slideToggle("fast");
$("div").animate({left:'-=200'},1500);
$("div").hide("slow");
$("div").show(1200);
$("div").slideUp("normal", runIt);
debugger;//8
}
debugger;
runIt();
28.grep函数
过滤数组中小于 0 的元素。
$.grep( [0,1,2], function(n,i){
return n > 0;
});
[1, 2]
排除数组中大于 0 的元素,使用第三个参数进行排除。
$.grep( [0,1,2], function(n,i){
return n > 0;
}, true);
[0]
----------------------------------------------------------------------
29.$.grep(使用过滤函数过滤数组元素。
var ss= $.grep( [3,1,2], function(n,i){
alert(n+' '+i);//3,0 1,1 2,2
return n > 0;
});
ss的值是1,2
30.stop 停止所有在指定元素上正在运行的动画。
如果队列中有等待执行的动画(并且clearQueue没有设为true),他们将被马上执行
31.andSelf() 加入先前所选的加入当前元素中
选取所有div以及内部的p,并加上border类
<div><p>First Paragraph</p><p>Second Paragraph</p></div>
$("div").find("p").andSelf().addClass("border");
<div class="border">
<p class="border">First Paragraph</p>
<p class="border">Second Paragraph</p>
</div>
31.add 把与表达式匹配的元素添加到jQuery对象中。这个函数可以用于连接分别与两个表达式匹配的元素结果集。
<p>Hello</p><span>Hello Again</span>
$("p").add("span")
[ <p>Hello</p>, <span>Hello Again</span> ]
====================================================
jquery的选择方法的简述
32. filter 筛选出与指定表达式匹配的元素集合。
$("p").filter(".selected")
33. is 根据选择器、DOM元素或 jQuery 对象来检测匹配元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true。
$("input[type='checkbox']").parent().is("form")
34. map 将一组元素转换成其他数组(不论是否是元素数组)
你可以用这个函数来建立一个列表,不论是值、属性还是CSS样式,或者其他特别形式。这都可以用'$.map()'来方便的建立。
$("p").append( $("input").map(function(){
return $(this).val();
}).get().join(", ") );
35.has保留包含特定后代的元素,去掉那些不含有指定后代的元素。
.has()方法将会从给定的jQuery对象中重新创建一组匹配的对象。提供的选择器会一一测试原先那些对象的后代,含有匹配后代的对象将得以保留。
$('li').has('ul').css('background-color', 'red');
36.not
删除与指定表达式匹配的元素
$("p").not( $("#selected")[0] )
37.slice,从a开始,b个数。
$("p").slice(0, 1).wrapInner("<b></b>");
==========================================================
Jquery的查找方法
38.children closest
closest和parents的主要区别是:1,前者从当前元素开始匹配寻找,后者从父元素开始匹配寻找;2,前者逐级向上查找,直到发现匹配的元素后就停止了,后者一直向上查找直到根元素,然后把这些元素放进一个临时集合中,再用给定的选择器表达式去过滤;3,前者返回0或1个元素,后者可能包含0个,1个,或者多个元素。
39. find next
40. nextall nextUntil
nextall 查找当前元素之后所有的同辈元素。
nextUntil 查找当前元素之后所有的同辈元素,直到遇到匹配的那个元素为止。
parentsUntil 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。
41
prev 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合。
prevAll 查找当前元素之前所有的同辈元素
prevUntil 查找当前元素之前所有的同辈元素,直到遇到匹配的那个元素为止。
42.siblings
43.fadeIn fadeOut fadeToggle
fadeTo
用600毫秒缓慢的将段落的透明度调整到0.66,大约2/3的可见度
$("p").fadeTo("slow", 0.66);
44.slideDown slideUp slideToggle
45.animate stop
============================================================================
jquery高级方法的使用:
46. $.browser
$.browser.msie
$.browser.safari
$.browser.opera
$.browser.msile
47.$.support
boxModel: 如果这个页面和浏览器是以W3C CSS盒式模型来渲染的,则等于true。通常在IE 6和IE 7的怪癖模式中这个值是false。在document准备就绪前,这个值是null。
cssFloat: 如果用cssFloat来访问CSS的float的值,则返回true。目前在IE中会返回false,他用styleFloat代替。
hrefNormalized: 如果浏览器从getAttribute("href")返回的是原封不动的结果,则返回true。在IE中会返回false,因为他的URLs已经常规化了。
htmlSerialize: 如果浏览器通过innerHTML插入链接元素的时候会序列化这些链接,则返回true,目前IE中返回false。
leadingWhitespace: 如果在使用innerHTML的时候浏览器会保持前导空白字符,则返回true,目前在IE 6-8中返回false。
noCloneEvent: 如果浏览器在克隆元素的时候不会连同事件处理函数一起复制,则返回true,目前在IE中返回false。
objectAll: 如果在某个元素对象上执行getElementsByTagName("*")会返回所有子孙元素,则为true,目前在IE 7中为false。
opacity: 如果浏览器能适当解释透明度样式属性,则返回true,目前在IE中返回false,因为他用alpha滤镜代替。
scriptEval: 使用 appendChild/createTextNode 方法插入脚本代码时,浏览器是否执行脚本,目前在IE中返回false,IE使用 .text 方法插入脚本代码以执行。
style: 如果getAttribute("style")返回元素的行内样式,则为true。目前IE中为false,因为他用cssText代替。
tbody: 如果浏览器允许table元素不包含tbody元素,则返回true。目前在IE中会返回false,他会自动插入缺失的tbody。
===================================================================================
48.$.each的用法
var ss={
a:'1',
b:'2',
c:'3'
}
$.each(ss,function(index,item){
if(item == '2'){
return true;//return false
}
alert(item);
});
return true 和continue;一样。
return false和break;一样。
49.
jquery面试需要看的基本东西的更多相关文章
- 最常见的 20 个 jQuery 面试问题及答案
jQuery 面试问题和答案 JavaScript 是客户端脚本的标准语言,而 jQuery 使得编写 JavaScript 更加简单.你可以只用写几行的jQuery 代码就能实现更多的东西. 它是最 ...
- [转]最常见的20个jQuery面试问题及答案
毫无疑问,jQuery给了JavaScript急需的提振,这是一门如此有用,但同时总是常常被低估的语言. 在 jQuery 粉墨登场之前,我们曾经会写出冗长的JavaScript代码,不仅仅为更大型的 ...
- 面试必看!靠着这份字节和腾讯的面经,我成功拿下了offer!
准备 敲定了方向和目标后就开始系统准备,主要分为以下几个方面来准备. 算法题 事先已经看过别人的社招面经知道头条每轮技术面都有算法题,而这一块平时练习的比较少,校招时刷的题也忘记了很多.因此系统复习的 ...
- 集合类--最详细的面试宝典--看这篇就够用了(java 1.8)
看了一个星期源码,搜索上百篇博文,终于总结出了集合类的所有基础知识点,学集合,看这篇就够用了!!! 篇幅有点长, 如果你能全部理解,java最重要的集合就不怕了,秒过面试!!!(本篇素材来自网络,如有 ...
- JS jquery ajax 已看1 有用
4.form中的input可以设置为readonly和disable,请问2者有什么区别? readonly不可编辑,但可以选择和复制:值可以传递到后台 disabled不能编辑,不能复制,不能选择: ...
- iOS面试必看
转载:http://www.jianshu.com/p/5d2163640e26 序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形 ...
- iOS面试必看,最全梳理
序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态 ...
- iOS,面试必看,最全梳理
序言 目前形势,参加到iOS队伍的人是越来越多,甚至已经到供过于求了.今年,找过工作人可能会更深刻地体会到今年的就业形势不容乐观,加之,培训机构一火车地向用人单位输送iOS开发人员,打破了生态圈的动态 ...
- 最近找java实习面试被问到的东西总结(Java方向)
时间,就是这么很悄悄的溜走了将近两个年华,不知不觉的,研二了,作为一个一般学校的研究生,不知道该说自己是不学无术,还是说有过努力,反正,这两年里,有过坚持,有过堕落,这不,突然间,有种开窍的急迫感,寻 ...
随机推荐
- 移动语义 && 函数调用过程中的 lvalue
当以一个函数内的临时变量对象作为另一个函数的形参的时候,原函数内的临时对象即 rvalue,就会成为此函数内的 lvalue. 这样会重新导致效率低下,因为造成了大量复制操作. <utility ...
- HTTP协议状态码
如果向您的服务器发出了某项请求要求显示您网站上的某个网页(例如,当用户通过浏览器访问您的网页或在检测工具抓取该网页时),那么,您的服务器会返回 HTTP 状态代码以响应该请求. 一些常见的状态代码为: ...
- POJ3648 A Simple Problem with Integers(线段树之成段更新。入门题)
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 53169 Acc ...
- 怎么学习计算电磁学【QUORA】
链接 There are several resources. But it depends on what you actually want to learn...Let me explain: ...
- 车脸检测 Adaboost 检测过程
上一节中我介绍了如何使用Opencv自带的opencv_traincascade.exe来做训练,接下来介绍如何使用训练生成的cascade.xml模型文件来检测车脸. 首先需要说明的是我这里的训练数 ...
- codevs 2822 爱在心中
codevs 2822 爱在心中 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description “每个人都拥有一个梦,即使彼此不相同, ...
- ZBrush中的纹理-水手该怎样进行绘制
如下是一张使用ZBrush3D图形绘制软件绘制的栩栩如生的水手图片,那么有人要问了,如何创建水手渲染的皮肤纹理呢?接下来,小编将教大家学习如何创建皮肤颜色,顺便说一下,这里所选取的颜色仅仅是在ZBru ...
- 使用Android Studio搭建Android集成开发环境(图文教程)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- AC日记——逃出克隆岛 (bfs)
2059 逃出克隆岛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description oi小组的yh酷爱玩魔兽rpg,每天都 ...
- AC日记——codevs 1688 求逆序对
1688 求逆序对 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 给定一个序列a1,a2,…, ...