1: jQuery 能做什么?
jquery是JavaScript的一个库,对原生的JS做了各种优化,比如代码看上去更简洁了,比如,封装好了容易出现浏览器兼容的代码,可以让开发人员投入到更多精力去考虑实现功能,而不是写大量的代码,然后还要去考虑兼容性。
2: jQuery 对象和 DOM 原生对象有什么区别?如何转化?
- DOM 原生对象是用原生的JavaScript方法获取的。如
document.getElementById(id)
- jQuery对象是jQuery库独有的,利用其中的
$('')
方法获取
相互转化
document.getElementById(id) //dom对象
$(document.getElementById(id)) //jQuery对象
$('#id') //jQuery对象
$('#id') [0] //dom对象
3:jQuery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?使用on绑定事件使用事件代理的写法?
- bind为一个元素绑定一个事件处理程序
- unbind从元素上删除一个以前附加事件处理程序。
- delegate为所有匹配选择器(selector参数)的元素绑定一个或多个事件处理函数,基于一个指定的根元素的子集,匹配的元素包括那些目前已经匹配到的元素,也包括那些今后可能匹配到的元素。
- live附加一个事件处理器到匹配目前选择器的所有元素,现在和未来。
- on在选定的元素上绑定一个或多个事件处理函数。
- off移除一个事件处理函数
推荐使用on和off绑定和移除事件处理函数
用法:
$('#list').on('click', 'li', function() {
//function code here.
});
4:jQuery 如何展示/隐藏元素?
- 隐藏
.hide([duration ] [,easing ] [,complete ])
用于隐藏元素,没有参数的时候等同于直接设置display属性
- duration:动画持续多久,5000(5秒)
- easing:表示过渡使用哪种缓动函数,jQuery自身提供"linear" 和 "swing"
- complete:在动画完成时执行的函数
- 展示
.show( [duration ] [, easing ] [, complete ] )
用于显示元素,用法和hide类似 - 展示/隐藏
.toggle( [duration ] [, easing ] [, complete ] )
用来切换元素的隐藏、显示
还有一些如.fadeIn()
,.slideDown()
等
5: jQuery 动画如何使用?
.animate( properties [, duration ] [, easing ] [, complete ] )
- properties是一个CSS属性和值的对象,动画将根据这组对象移动。
- duration (default: 400):一个字符串或者数字决定动画将运行多久。默认值: "normal", 三种预定速度的字符串("slow", "normal", 或 "fast"或表示动画时长的毫秒数值(如:1000) )
- easing (default: swing):一个字符串,表示过渡使用哪种缓动函数。jQuery自身提供"linear" 和 "swing",其他效果可以使用jQuery Easing Plugin插件
- step:每个动画元素的每个动画属性将调用的函数。这个函数为修改Tween 对象提供了一个机会来改变设置中得属性值。
- complete:在动画完成时执行的函数
.stop( [clearQueue ] [, jumpToEnd ] )
停止匹配元素当前正在运行的动画。
.finish()
完成当前元素的动画。
6:如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
$('div').html() //获取
$('div').html(‘hhh’)//修改
$('div').text() //获取
$('div').text(‘hhh’)//修改
7:如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
$("input").val() //获取值
$("input").val(‘hhhh’) //修改
选择元素后,调用attr(attribute,value)即可获取元素置顶属性的值,attribute参数为必填,代表了想要定位的属性,而value参数选填,未填为查找,填写后代表修改为 将属性值改为value
$(selector).attr(attribute,value)
8-11
http://js.jirengu.com/roqigisebi/1/edit?html,output
http://js.jirengu.com/huyajojodu/1/edit?html,output
http://js.jirengu.com/bequzujote/1/edit?html,output
http://js.jirengu.com/budupolajo/1/edit?html,output