说说库和框架的区别?
- 库是一个数据仓库,里面放了各种可以利用的API,由于库的内部已经做了各种底层的封装和各种兼容实现,因此可以调用提供的API接口来实现我们需要的功能,而不需要复杂的代码和加工,因此使代码得到优化,效率提高
- 框架相当于一个模板,用来搭建一个项目的最基层的部分,框架内部可以根据不同项目的需要填入不同的内容。
另外一种解释是: - 库是跟着你的思维走;
- 框架是牵着你的思维跟他走;
jquery 能做什么?
将原生DOM元素的功能实现并且满足良好的兼容性,最重要的是,可以简化代码。
jquery是一个丰富的js库,内部对js的很多复杂的方法进行了封装和加工,比如js很多方法名很冗长,jquery封装后方法就变得简便了,也考虑到了跨浏览器兼容问题,这样我们用js时需要考虑的很多问题它都帮我们解决了,这样我们使用时就比js代码要方便,高效的多。
jquery 对象和 DOM 原生对象有什么区别?如何转化?
- DOM原生对象:拥有原生对象的属性和方法;
- jQuery对象:是DOM元升级对象经过包装之后,拥有jQuery的属性和方法(对原生DOM对象的封装);
是类数组; - jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
如:var $v =$("#v") ; //jQuery对象
var v=$v[0]; //DOM对象 - jQuery本身提供,通过.get(index)方法,得到相应的DOM对象
如:var $v=$("#v"); //jQuery对象
var v=$v.get(0); //DOM对象 - 对于DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了
jquery中如何绑定事件?bind、unbind、delegate、live、on、off都有什么作用?推荐使用哪种?bind、unbind、delegate、live、on、off都有什么作用?
- bind(type, [data], function(eventObject))
在选择的元素上绑定特定事件类型的监听函数
type:事件类型,如:click、change、mouseover等
data:传入的监听函数的参数,通过event.data取得,可选
function:监听函数,可传入event对象,这里的event是jQuery封装的event对象,与原生的event对象有区分
每新生成一个元素就要绑定一次,比较麻烦
2.live(type, [data], fn)live方法将监听器绑定在了document上,不把监听器绑定在元素上
利用事件委托机制,把节点处理委托给document
3.delegate(selector, type, [data], fn)selector用来指定触发的目标元素,监听器被绑定在调用此方法的元素上
4..on(type, [selector], [data], fn )
没有selector时,就和bind一样
有selector时,就像delegate一样
四种绑定方式对应解除监听的函数分别为unbind、die、undelegate、off
推荐使用哪种?
推荐使用on
on能实现其他几种方法的效果
使用on绑定事件使用事件代理的写法?
$('ul').on('click', 'li', function(e){
console.lof(this);
})
jquery 如何展示/隐藏元素?
jquery 动画如何使用?
如何设置和获取元素内部 HTML 内容?如何设置和获取元素内部文本?
$('#ele').html() //获取
$('#ele').html(value) //设置
$('#ele').text();
$('#ele').text(value);
如何设置和获取表单用户输入或者选择的内容?如何设置和获取元素属性?
.val([string])
无参数时,获取表单用户的输入值
有参数时,设置表单的输入值
.attr(attributeName)
获取元素特定属性的值
.attr(attributeName, value)/ .attr(attributesJson)/ .attr(attributeName, function(index, attr))
为元素属性赋值