任务25-JQuery DOM&事件
问答
1、说说库和框架的区别?
库Library ( 简写 Lib ),库是将代码集合成的一个产品,供程序员调用。
框架( Framework),是为解决一个(一类)问题而开发的产品,框架用户一般只需要使用框架提供的类或函数,即可实现全部功能。可以说,框架是库的升级版。开发者在使用框架的时候,必须使用这个框架的全部代码。
使用库是指,你的代码决定什么时候从库中调用一个特定的方法;使用框架则是,你实现了一些回调方法,到了特定的时候框架会去调用这些方法。
2、JQuery能做什么?
1.提供了强大的功能函数
2.解决浏览器兼容性问题
3.实现丰富的UI
4.纠正错误的脚本知识
3、JQuery对象和 DOM 原生对象有什么区别?如何转化?
区别:
1.jquery选择器得到的jquery对象和标准的 javascript中的document.getElementById()取得的dom对象是两种不同的对象类型,两者不等价;
2.jQuery无法使用DOM对象的任何方法,同理DOM对象也不能使用jQuery里的方法. 乱使用会报错。
转化:
1.将jQuery转换为dom对象的方法 [index] 或者.get(index):
a、$(“#form”)[index] ,该方法获取form元素的dom对象
b、$(“#form”).get(index)
2.将js的dom对象转换为jQuery对象,对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象) :
Var a=document.getElementById(“form”);
$a=$(a);
4、jquery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
bind:方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。
bind将会给所有匹配的元素都绑定一次事件,当元素很多时性能会变差。而且后来动态新增的元素不会被绑定。
.bind( eventType [, eventData ], handler )
unbind:该方法能够移除所有的或被选的事件处理程序,或者当事件发生时终止指定函数的运行。unbind() 适用于任何通过 jQuery 附加的事件处理程序。
如果没有规定参数,unbind() 方法会删除指定元素的所有事件处理程序。
.unbind( eventType [, handler ] )
delegate:
它将事件处理函数绑定在指定的根元素上,由于事件会冒泡,它用来处理指定的子元素上的事件。
.delegate( selector, eventType[, eventData], handler )
live:方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)。
.live( events [, data ], handler
以上三种事件绑定方法在jQuery1.8之后都不推荐使用,官方在1.9时已经取消使用live()方法了,所以建议都使用on()方法。
//如果你需要移除on()所绑定的方法,可以使用off()方法处理。
$(document).ready(function(){
$("p").on("click",function(){
$(this).css("background-color","pink");
});
$("button").click(function(){
$("p").off("click");
});});
//如果你的事件只需要一次的操作,可以使用one()这个方法
$(document).ready(function(){
$("p").one("click",function(){
$(this).animate({fontSize:"+=6px"});
});});
5、jquery 如何展示/隐藏元素?
展示/隐藏元素 主要是 show()和hide()方法。
show()使指定的隐藏元素可见。
.show(speed,callback),speed 以毫秒为单位,也可以使用指定的字符串** 'slow'=600ms , 'normal' =400ms ,'fast' =200ms,如果省略,默认的就是normal**
callback 回调,当动画完成时调用的函数
.hide(speed,callback)作用功能和show()相反。
.toggle(speed,callback) 在元素的展示/隐藏之间进行切换。
还有两个渐显,渐隐的方法是 fadeIn(speed,callback) 和fadeOut(speed,callback),它们是改变字体透明度而实现的。
6、jquery 动画如何使用?
animate() 根据指定的css属性和使用缓和参数来控制自定义动画
animate(properties[,speed][,easing][,callback])
properties css 属性 eg. {left:300}
speed 动画持续时间 slow、normal、fast 、xxms
easing (缓和)是一个函数(可选),控制动画随着时间如何进行。它需要一个插件。有两个缓和函数:linear(线性),swing(摆动)。默认swing。
callback 回调。
7、如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
获取HTML:$(selector).html(); 类似于JavaScript中的innerHTML属性
设置HTML:$(selector).html("content");
获取内部文本:$(selector).text(); 类似于JavaScript中的innerText属性
设置内部文本:$(selector).text("content");
8、如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
获取匹配元素的当前(输入/选择)值,如果多选,将返回一个数组,其包含所选的值。
$(selector).val()
设置和获取元素属性
$(selector).attr(attribute[,value])
value参数选填,未填为查找,填写后将属性值改为value。