1.说说库和框架的区别?
答:库:库就像一个工具箱,是一种代码的使用方法集合,可以随意调用重复使用。面向对象的代码组织形式而形成的库叫类库。面向过程的代码组织形式而成的叫做函数库。库是对某些功能模块的封装,提供了一个简单的接口。
框架:是一种预定义的模板,我们只需要往框架内填充内容即可,用户只需要使用框架内提供的类或者函数就可以实现全部功能,框架是库的一种升级版,开发者在使用框架的时候必须用这个框架的全部代码。
2.jquery 能做什么?
答:jQuery是一个轻量级的库,它的宗旨是“写的少,做的多”
功能主要有:
- HTML元素选取
- HTML元素操作
- CSS的操作
- 绑定事件
- JS的特效和动画
- DOM的遍历和修改
- AJAX
3.jquery 对象和 DOM 原生对象有什么区别?如何转化?
答:jQuery对象是通过jQuery的API来构造的对象(类数组),拥有自己的属性和方法。
DOM原生对象是通过DOM的API来构造的DOM对象(DOM节点),有自己的属性和方法。
转化方法
$name = $('.name')//使用$符将原生对象包裹转化为jQuery对象。
name = $name[0]//在jQuery对象后面加下标,将jQuery对象转化为DOM对象。
4.jquery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
答:jQuery绑定事件的方法是$(selector).click()
-
bind
:在jQuery1.7之前使用,用来为元素绑定一个事件处理程序
$(".btn").bind("click",function(){
console.log("jirengu")
})
-
unbind
:为元素删除一个以前附加事件处理程序,不传参数的话移除元素上所有绑定的事件处理程序。
$('.btn').unbind()
-
delegate
:1.7版本之前,为匹配选择器元素绑定一个或者多个事件处理函数,基于一个指定的根元素的子集,匹配元素包括那些目前已经匹配到的元素,也包括那些将要匹配到的元素。
$(".warp").delegate("a","click",function(){
$(this).toggleClass("chosen")
})
-
live
:在1.7版本之前,附加一个事件处理程序到目前选择器的所有元素
$(".btn").live("click",function(){
alert("hello world")
})
on
:推荐使用的方法,用于绑定事件,被用于替代上面的绑定事件的方法。
.on(events[,seletor][,data],handler(eventObjcet))
使用事件代理的方式为ul绑定了事件处理程序,当触发元素为li的时候才会触发事件处理程序。
$("ul").on("click","li",function(){
console.log("hello")
})
off
:用于移除on绑定的事件代理函数
5.jquery 如何展示/隐藏元素?
答:展示元素:$(selector).show(speed,callback);
隐藏元素:$(selector).hide(speed,callback)
speed:参数规定隐藏、显示的元素的速度,可以取值slow、fast或者毫秒
callback:是隐藏或显示完成后所执行的函数名称
6.jquery 动画如何使用?
答:jQuery animate()方法来用于创建自定义动画
$(selector).animate({params},speed,callback)
- params来定义动画的CSS属性
- speed参数规定效果时长。
- callback参数是动画完成之后所执行的函数名称
7.如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
答:html()
设置或获取所选元素的内容,包括HTML标记。
text()
获取所选元素的文本内容
8.如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
答:.attr(attributeName)
可以用来获取元素的属性。
获取元素的属性:
1.attr(attributeName,value):直接设置value就是要设置的属性值。
2..attr(attributes)
:可以传进去一个对象,对象用key:value的形式设置多个属性的值