jquery面试题整理
1、 jQuery 库中的 $() 是什么?
$ () 函数是 jQuery() 函数的别称。$() 函数用于将任何对象包裹成 jQuery 对象,接着你就被允许调用定义在 jQuery 对象上的多个不同方法。你可以将一个选择器字符串传入 $() 函数,它会返回一个包含所有匹配的 DOM 元素数组的 jQuery 对象。
2、如何找到所有 HTML select 标签的选中项?
$(’[name=selectname] :selected’)
3、$(this) 和 this 关键字在 jQuery 中有何不同?
$(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法,比如用 text() 获取文本,用val() 获取值等等。
而 this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的当前 DOM 元素。你不能对它调用 jQuery 方法,直到它被 $() 函数包裹,例如 $(this)。
4、jquery怎么移除标签onclick属性?
获得a标签的onclick属性: $(“a”).attr(“onclick”)
删除onclick属性:$(“a”).removeAttr(“onclick”);
设置onclick属性:$(“a”).attr(“onclick”,“test();”);
5、jquery中addClass,removeClass,toggleClass的使用。
$(selector).addClass(class):为每个匹配的元素添加指定的类名
$(selector).removeClass(class):从所有匹配的元素中删除全部或者指定的类,删除class中某个值;
$(selector).toggleClass(class):如果存在(不存在)就删除(添加)一个类
$(selector).removeAttr(class);删除class这个属性;
6、JQuery有几种选择器?
(1)、基本选择器:#id,class,element,*;
(2)、层次选择器:parent > child,prev + next ,prev ~ siblings
(3)、基本过滤器选择器::first,:last ,:not ,:even ,:odd ,:eq ,:gt ,:lt
(4)、内容过滤器选择器: :contains ,:empty ,:has ,:parent
(5)、可见性过滤器选择器::hidden ,:visible
(6)、属性过滤器选择器:[attribute] ,[attribute=value] ,[attribute!=value] ,[attribute^=value] ,[attribute$=value] ,[attribute*=value]
(7)、子元素过滤器选择器::nth-child ,:first-child ,:last-child ,:only-child
(8)、表单选择器: :input ,:text ,:password ,:radio ,:checkbox ,:submit 等;
(9)、表单过滤器选择器::enabled ,:disabled ,:checked ,:selected
7、jQuery中的Delegate()函数有什么作用?
delegate()会在以下两个情况下使用到:
1、如果你有一个父元素,需要给其下的子元素添加事件,这时你可以使用delegate()了,代码如下:
$(“ul”).delegate(“li”, “click”, function(){ $(this).hide(); });
2、当元素在当前页面中不可用时,可以使用delegate()
8、$(document).ready()方法和window.onload有什么区别?
(1)、window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的。
(2)、$(document).ready() 方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数。
9、如何用jQuery禁用浏览器的前进后退按钮?
实现代码如下:
<script type="text/javascript" language="javascript"> $(document).ready(function() {window.history.forward(1);//OR window.history.forward(-1); });</script>
10、 jquery中 $ .get()提交和$.post()提交有区别吗?
相同点:都是异步请求的方式来获取服务端的数据;
异同点:
1、请求方式不同: $ .get() 方法使用GET方法来进行异步请求的。$.post() 方法使用POST方法来进行异步请求的。
2、参数传递方式不同:get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器的,这种传递是对用户不可见的。
3、数据传输大小不同:get方式传输的数据大小不能超过2KB 而POST要大的多
4、安全问题: GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。
11、写出一个简单的$.ajax()的请求方式?
$.ajax({
url:'http://www.www.wuliaokankan.cn',type:'POST',data:data,cache:true,headers:{},beforeSend:function(){},success:function(){},error:function(){},complete:function(){}
});
12、jQuery的事件委托方法bind 、live、delegate、on之间有什么区别?
(1)、bind 【jQuery 1.3之前】
定义和用法:主要用于给选择到的元素上绑定特定事件类型的监听函数;
语法:bind(type,[data],function(eventObject));
特点:
(1)、适用于页面元素静态绑定。只能给调用它的时候已经存在的元素绑定事件,不能给未来新增的元素绑定事件。
(2)、当页面加载完的时候,你才可以进行bind(),所以可能产生效率问题。
实例如下:$( “#members li a” ).bind( “click”, function( e ) {} );
(2)、live 【jQuery 1.3之后】
定义和用法:主要用于给选择到的元素上绑定特定事件类型的监听函数;
语法:live(type, [data], fn);
特点:
(1)、live方法并没有将监听器绑定到自己(this)身上,而是绑定到了this.context上了。
(2)、live正是利用了事件委托机制来完成事件的监听处理,把节点的处理委托给了document,新添加的元素不必再绑定一次监听器。
(3)、使用live()方法但却只能放在直接选择的元素后面,不能在层级比较深,连缀的DOM遍历方法后面使用,即 $ (“ul”").live…可以,但$(“body”).find(“ul”).live…不行;
实例如下:$( document ).on( “click”, “#members li a”, function( e ) {} );
(3)、delegate 【jQuery 1.4.2中引入】
定义和用法:将监听事件绑定在就近的父级元素上
语法:delegate(selector,type,[data],fn)
特点:
(1)、选择就近的父级元素,因为事件可以更快的冒泡上去,能够在第一时间进行处理。
(2)、更精确的小范围使用事件代理,性能优于.live()。可以用在动态添加的元素上。
实例如下:
$("#info_table").delegate(“td”,“click”,function(){/显示更多信息/});
$(“table”).find("#info").delegate(“td”,“click”,function(){/显示更多信息/});
(4)、on 【1.7版本整合了之前的三种方式的新事件绑定机制】
定义和用法:将监听事件绑定到指定元素上。
语法:on(type,[selector],[data],fn)
实例如下:$("#info_table").on(“click”,“td”,function(){/显示更多信息/});参数的位置写法与delegate不一样。
说明:on方法是当前JQuery推荐使用的事件绑定方法,附加只运行一次就删除函数的方法是one()。
总结:.bind(), .live(), .delegate(),.on()分别对应的相反事件为:.unbind(),.die(), .undelegate(),.off()
jquery面试题整理相关推荐
- js、jQuery面试题整理
js.jQuery面试题整理 1.数据类型 基本类型:String.Number.boolean.null.undefined.Symbol.BigInt. 引用类型:object.里面包含的 fun ...
- jQuery 一次定时器_史上最全的js、jQuery面试题
js.jQuery面试题整理 1.数据类型 基本类型:除Object.String.Number.boolean.null.undefined. 引用类型:object.里面包含的 function. ...
- 2022年前端面试题整理,持续更新中
端面试题整理 已同步到掘金.CSDN 掘金地址: https://juejin.cn/post/7075332630417244173 CSDN 地址:https://blog.csdn.net/z1 ...
- 前端面试题整理汇总(一)
前端面试题整理汇总(一) 优才网 关于前端面试题,优优之前推荐过,如下,点击即可查看: 5个经典的前端面试问题 2016年十家知名公司前端面试经验总结 前端面试会问哪些问题? 前端开发面试题汇总[HT ...
- .Net 面试题整理(一)
.Net 面试题整理(一) 好久的资料了,拿出来分享给大家,主要是记录一些面试题整理. Main函数是什么?在程序中使用Main函数有什么需要注意的地方? Q:程序的入口函数!函数名字不能改变:一个程 ...
- Java面试题整理_P1
Java面试题整理 1.Java基础 1.JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境.JR ...
- 10道必会jQuery面试题-蛙课网
JavaScript是客户端脚本的标准语言,而jQuery使得编写JavaScript更加简单,作为java程序员,在开发工作中免不了使用jQuery框架,所以jQuery就成为了面试中会被考察的一部 ...
- 前端面试题整理2020
前端面试题整理2020 1.一些开放性题目 1.自我介绍:除了基本个人信息以外,面试官更想听的是你与众不同的地方和你的优势. 2.项目介绍 3.如何看待前端开发? 4.平时是如何学习前端开发的? 5. ...
- Java面试题整理(转)
Java面试题整理 计算机网络 1.停止等待协议 停止等待协议是最基本的数据链路层协议,它的工作原理是这样的. 在发送端,每发送完一帧就停止发送,等待接收端的确认,如果收到确认就发送下一帧. 在接收端 ...
最新文章
- list mybatis 接收 类型_基于mybatis拦截器实现的一款简易影子表自动切换插件
- SharePoint中的列表(List) 与Content Type 之五
- java Web 文件上传
- ICCV 2019丨基于跨视角信息融合的三维人体姿态估计
- upupw启动mysql失败,Can't init tc log
- 使用screen的时候出现了如下错误: Cannot open your terminal '/dev/pts/0' - please check.
- 进制转换工具类-JAVA
- python官网的软件-Python编程软件 V3.9.0 官方最新版
- Material UI 4.10 Skeleton 骨架
- 数字图像处理与python实现 pdf_python数字图像处理实现直方图与均衡化
- 人去楼空 暴风影音倒闭 今后将成为历史?
- 2020年度全球人工智能十大事件
- Excel:带有相关单元格引用的Python xlwings复制粘贴公式
- android编程_5个在Android平台上进行编程的最佳应用
- 安卓手机用ADB命令打印APP的崩溃日志
- Percona和MariaDB对比
- nant_NAnt和FxCopCmd今天我在NAnt和
- Panda 知识点总结 带代码(上)
- Github Markdown表情速查表
- python dll注入监听_注入方式,劫持dll注入的实现
热门文章
- 我本想轻轻将你抛离,谁知他却将无情我抛弃
- MySQL 数据库备份一键执行脚本 --- 全库备份和增量备份
- 【kali-漏洞扫描】(2.1)Nessus解除IP限制、扫描快无结果、插件plugins被删除(中)
- LaTex公式(网页)编辑器
- 天猫双十一、小米MIX和讯飞输入法:中国大公司开玩“近创新”
- pytorch创建模型并训练(初探文本分类问题)
- Visual Studio Code 2019 修改背景图片教程
- MathType7.4变回6.9
- 三星电池测试软件,[图]Galaxy Note 7电池是如何测试的?三星实验室揭秘
- 移动端h5直播项目|html5直播实战开发|h5仿陌陌