博客
关于我
JQ面试题
阅读量:640 次
发布时间:2019-03-12

本文共 4389 字,大约阅读时间需要 14 分钟。

1.$.和$().有什么区别,分别的含义是什么

$就是jQuery的别称

而jQuery就是jQuery库提供的一个函数.(好像也不仅仅只是函数, 因为还有 $.ajax(options) 这样的使用,等同 jQuery.ajax(options))

这个函数的作用是根据 () 里的参数进行查找和选择html文档中的元素, 函数作用之一就是GetElementByID的代替,但()内不仅可以是ID,还可以是各类选择器

比如:

$(document)就是 选取整个文档对象

那是不是只可以用$来代替,不是。为了防止命名冲突,jQuery库提供了另外的机制来给jQuery函数起另外的别名。

$是JQuery对象,$()就是JQuery(),在里面可以传参数,获取DOM元素。 

举例子:

$(".div")表示获取类名为div1的元素,例如获取
$(".div1").onclick表示类名为div1的div点击事件jquery中$.,例如$.post(),$.get(),$.ajax()等这些都是jquery这个对象的方法

2.JQ里的ID和Class选择器有什么不同?

ID用“#”,Class用“.” 

3.如何点击一个按钮时使用JQ隐藏一个图片? 

$("button").click(function(){    $("#ImageToHide").hide();})

 4.$(document).ready()是个什么函数

ready()函数用于在文档进入ready 状态时执行代码。当DOM 完全加载,就可以执行JQ的代码。

好处:它适用于所有的浏览器

5.window.load事件和JQ ready函数有什么不同?

主要区别前者要等待DOM被创建还要等到包括图片,视频,音频等都家外完成,在执行window.load事件上的代码,执行时会有延迟

ready()函数只需要DOM树的等待,无需对图像和外部资源加载的等待,执行起来更快。

6.如何找到所有HTML select标签中的选项?--不懂

 

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

1

$('[name=NameOfSelectedTag] :selected')

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

 8.JQ里的each()是什么函数?你是如何使用它的?

9.你如何将一个HTML元素添加到DOM树中的? 

可以用JQ方法appendTo()将一个HTML元素添加到DOM树中。

10. $(this)和this关键字在JQ中有何不同?

$(this)返回一个JQ 对象,你可以对它调用多个JQ方法,比如text()获取文本,用val()获取值等。而this代表当前元素,它是js关键词中的一个,标识上下文中的当前DOM元素。你不能对它调用JQ方法,直到它被$()函数包裹,例如$(this)

11.你如何使用JQ来提取一个HTML标记的属性,例如。连接href?

attr()方法被用来提取任意一个HTML元素 的一个属性的值。

$('a').each(function(){    alter($(this).attr('href'))})

12.如何使用JQ设置一个属性值?

attr()方法和JQ中其他方法一样,attr(name,value),这里name是属性的名称,value是属性的新值。

13.JQ中detach()和remove()方法的区别是什么? 

都是用来移除一个DOM元素

不同:detach()会保持对过去被解除元素的跟踪

remove()会保持过去被移除对象的引用 

14.JQ中的方法链是什么?使用方法链有什么好处? 

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

15.你要是在一个JQ事件处理程序返回了false会怎样? 

阻止事件向上冒泡。

16. JQ有哪几种类型的选择器?

基本选择器:id,css类型,元素名返回匹配的DOM元素 

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

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

17.用JQ将页面上所有的元素边框设置为2px宽的虚线?

 18.如何使用JQ实现点击按钮弹出一个对话框?

HTMLJQ

  19.如何用JQ禁用浏览器的前进后退按钮?

 20.为什么要用JQ?有哪些好处?

1、因为jQuery是轻量级的框架,大小不到30kb

2、它有强大的选择器,出色的DOM操作的封装
3、有可靠的事件处理机制(jQuery在处理事件绑定的时候相当的可靠)
4、完善的ajax(它的ajax封装的非常的好,不需要考虑复杂浏览器的兼容性和XMLHttpRequest对象的创建和使用的问题。)
5、出色的浏览器的兼容性
6、支持链式操作,隐式迭代
7、行为层和结构层的分离,还支持丰富的插件,jquery的文档也非常的丰富

21 .你知道jQuery中的选择器吗,有哪些选择器

大致分为:基本选择器,层次选择器,表单选择器

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

22.JQ对象和DOM对象是怎么转换的 

jQuery对象是一个包含了dom对象的数组 可以通过jQuery对象[下标]获取dom对象

将dom对象放入$("")中转为jQuery对象

 23.怎么使用jQuery中的动画

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

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

在元素内部添加

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

appendTo:将所有匹配的元素追加到指定的元素中 

        <p>我想说:</p> 
        $("<b>你好</b>").appendTo("p") 
        <p>我想说:<b>你好</b></p>

prepend:向每个匹配的元素内部前置添加内容 

        <p>我想说:</p> 
        $("p").prepend("<b>你好</b>") 
        <p><b>你好</b>我想说:</p>

prependTo:将所有匹配的元素前置到指定的元素中 

        <p>我想说:</p> 
        $("<b>你好</b>").prependTo("p") 
        <p><b>你好</b>我想说:</p>

在元素外部添加

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

insertAfter:将所有配的元素插入到指定元素的后面 

        <p>我想说:</p> 
        $("<b>你好</b>").insertAfter("p") 
        <p>我想说:</p><b>你好</b>

before:在每个匹配的元素之前插入内容 

        <p>我想说:</p> 
        $("p").before("<b>你好</b>") 
        <b>你好</b><p>我想说:</p>

insertBefore:将所有匹配的元素插入到指定的元素的前面 

        <p>我想说:</p> 
        $("<b>你好</b>").insertBefore("p") 
        <b>你好</b><p>我想说:</p> 

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

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

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

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

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

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

28.radio单选组的第二个元素为当前选中的值,该怎么去取

 $('input[type=radio]')[1].checked=true

29.针对 jQuery 的优化方法? 

  • 缓存频繁操作DOM对象
  • 尽量使用id选择器代替class选择器
  • 总是从#id选择器来继承
  • 尽量使用链式操作
  • 使用时间委托 on 绑定事件
  • 采用jQuery的内部函数data()来存储数据
  • 使用最新版本的 jQuery 

30.jQuery 一个对象可以同时绑定多个事件,这是如何实现的? 

$("#btn").on("mouseover mouseout", func);  $("#btn").on({      mouseover: func1,      mouseout: func2,      click: func3  });

31.jQuery 中的 bind(), live(), delegate(), on()的区别? 

  • bind 直接绑定在目标元素上
  • live 通过冒泡传播事件,默认document上,支持动态数据
  • delegate 更精确的小范围使用事件代理,性能优于 live
  • on 是最新的1.9版本整合了之前的三种方式的新事件绑定机制

 32.jQuery.fn 的 init 方法返回的 this 指的是什么对象? 为什么要返回 this?

jQuery.fn 的 init 方法 返回的 this 就是 jQuery 对象

用户使用 jQuery() 或 $() 即可初始化 jQuery 对象,不需要动态的去调用 init 方法 

转载地址:http://akgxz.baihongyu.com/

你可能感兴趣的文章
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>
mysql 字段类型类型
查看>>
MySQL 字符串截取函数,字段截取,字符串截取
查看>>
MySQL 存储引擎
查看>>
mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
查看>>
MySQL 存储过程参数:in、out、inout
查看>>
mysql 存储过程每隔一段时间执行一次
查看>>
mysql 存在update不存在insert
查看>>
Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
查看>>
Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
查看>>
Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
查看>>
Mysql 学习总结(89)—— Mysql 库表容量统计
查看>>
mysql 实现主从复制/主从同步
查看>>
mysql 审核_审核MySQL数据库上的登录
查看>>
mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
查看>>
mysql 导入导出大文件
查看>>
MySQL 导出数据
查看>>
mysql 将null转代为0
查看>>