1.说说库和框架的区别?
- 库:是一个数据仓库,里面放了各种可以利用的API,由于库的内部已经做了各种底层的封装和各种兼容实现,因此可以调用提供的API接口来实现我们需要的功能,而不需要复杂的代码和加工,因此使代码得到优化,效率提高
- 框架:是一种特殊的、已经实现了的WEB应用,你只需要对它填充具体的业务逻辑。这里框架是起主导作用的,由它来根据具体的应用逻辑来调用你的代码。常见的框架有AngularJS等。
2.jquery 能做什么?
jQuery是一个JavaScript函数库,使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
jQuery能够使用户的html页面保持代码和html内容分离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可
3.jquery 对象和 DOM 原生对象有什么区别?如何转化?
- 区别:因为jquery对象与dom原生对象是不相同的,所以它们提供的方法和属性也不相同。jquery对象是一个类数组对象拥有jquery的属性和方法,原生dom对象拥有原生对象的属性和方法。
- 转化:
var btn = $('#btn')[0] 加下标转换为dom原生对象
$(btn)用$包裹原生对象成为jquery对象。
4.jquery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
jquery中如何绑定事件:
jQuery 提供了四种事件监听的方式,分别为bind、live、delegate、on
bind、unbind、delegate、live、on、off都有什么作用?
- bind(type, [data], function(eventObject))
在选择的元素上绑定特定事件类型的监听函数
type:事件类型,如:click、change、mouseover等
data:传入的监听函数的参数,通过event.data取得,可选function:监听函数,可传入event对象,这里的event是jQuery封装的event对象,与原生的event对象有区分每新生成一个元素就要绑定一次,比较麻烦 - live(type, [data], fn)
live方法将监听器绑定在了document上,不把监听器绑定在元素上利用事件委托机制,把节点处理委托给document
3.delegate(selector, type, [data], fn)
selector用来指定触发的目标元素,监听器被绑定在调用此方法的元素上 - on(type, [selector], [data], fn )没有selector时,就和bind一样有selector时,就像delegate一样
- 四种绑定方式对应解除监听的函数分别为unbind、die、undelegate、off
推荐使用哪种?
推荐使用onon能实现其他几种方法的效果使用on绑定事件使用事件代理的写法?
$('ul').on('click', 'li', function(e){
console.lof(this);})
5.jquery 如何展示/隐藏元素?
- show([speed], [callback]):显示元素
- hide([speed], [callback]):隐藏元素
- toggle([speed], [callback]): 显示隐藏元素,隐藏显示元素
- fadeIn([speed], [callback]):淡入显示隐藏元素
- fadeOut([speed], [callback]):淡出隐藏显示元素
- fadeToggle([speed], [callback]):淡入淡出的显示隐藏元素,隐藏显示元素
- fadeTo(speed, opacity,[callback]):淡入淡出效果设置为给定的不透明度
- slideUp([speed], [callback]):以滑动的方式隐藏显示的元素
- slideDown([speed], [callback]):以滑动的方式隐藏显示的元素
speed:规定速度,取值:'slow', 'normal', 'fast'或毫秒
callback:显示或隐藏后执行的函数opacity:透明度(0~1)
6.jquery 动画如何使用?
$(selector).animate({params},speed,callback);
必需的 params 参数定义形成动画的 CSS 属性。
可选的 speed 参数规定效果的时长。它可以取以下值:“slow”、“fast” 或毫秒。
可选的 callback 参数是动画完成后所执行的函数名称。当动画 100% 完成后,即调用 Callback 函数。
7.如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
- .html([string])用于获取/修改元素的innerHTML无参数时,返回元素的innerHTML有参数时,修改元素的innerHTML为参数值
- .text([string]) 无参数时,获取元素内部文本有参数时。
设置元素内部文本为参数值,如果结果是多个时进行赋值操作的时候会给每个结果都赋值。如果结果是多个,获取值的时候,返回结果其中的第一个对象的相应值
8.如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
- .val([string])无参数时,获取表单用户的输入值有参数时,有参数时,设置表单的输入值。
- .attr(attributeName)获取元素特定属性的值
- .attr(attributeName, value) 参数vulue可设置元素的属性值