2.jQuery 插件实现方式,分别介绍?
3.bind 和 live 的区别?
4.DOM 对象互相转换 jQuery 对象
5.给出一个数组如何去掉重复的项?
6.闭包是什么?
7.什么是响应式网页?
8.最熟悉的 web 的前端框架?
9.前端页面有哪三层构成,分别是什么?作用是什么?
精解:
1, jquery常见选择器
3,bind和live的区别
答:如果通过jquery添加的层和对象一定要用live(),其他的都不起作用。
区别如下:
1)live运行完之后不释放空间,太多的使用会占用内存,bind()则点击完之后释放空间
$('.clickMe').bind('click',function(){
$('body').append('
Anothertarget.
');
});
原理上,当点击了这个元素,就会弹出一个警告框。然后,想象一下这之后有另一个元素添加进来了。
尽管这个新的元素也能够匹配选择器 ".clickMe",但是由于这个元素是在调用.bind()之后添加的,所以点击这个元素不会有任何效果。
.live()就提供了对应这种情况的方法,如果我们是这样绑定click事件的:
$('.clickMe').live('click',function(){
alert('Live handler called');
});
然后再添加一个新元素
$('body').append('
Anothertarget.
');
然后再点击新增的元素,他依然能够触发事件处理函数。
2)bind方法可以绑定任何javaScript的事件,而live方法在JQuery1.3的时候只支持click,keydown,keyup,keypress,mousedown,mouseover,mousemove,mouseout,mouseover和mouseup.在jQuery1.4中,甚至也支持focus和blue事件了(映射到更合适,并且可以冒泡的focusin和focusout上)。另外,在jQuery1.4.1中,也能支持hover(映射到“mouseenter mouseleave”).
3)live()并不完全支持通过dom遍历的方法找到的元素。取而代之的是,应当总是在一个选择器后面直接使用live()方法。
4)当一个元素采用Live方法进行事件的绑定的时候,如果想阻止事件的传递或冒泡,就要在函数中return false.仅仅调用stopPropagation()是无法阻止事件的传递或者冒泡的、
4.jQuery与dom对象的相互转换
1)dom转换成jQuery
$('.class')或document.getElementById("");
2)jQuery转换成dom
方法一: jQuery 对象是一个数据对象,可以通过 [index] 的方法,来得到相应的 DOM 对象。
如:
var $v = $("#v"); //jQuery 对象
var v = $v[0]; //DOM 对象
alert(v.checked); //检测这个checkbox是否被选中
方法二:
jQuery 本身提供,通过.get(index) 方法得到相应的 DOM 对象
如:
var $v = $("#v"); //jQuery 对象
var v = $v.get(0); //DOM对象 ( $v.get()[0] 也可以 )
alert(v.checked); //检测这个 checkbox 是否被选中
7,响应式网页