jquery面试题

当CDN上的jQuery文件不可用时,该怎么办?

回答:为了节省带宽和脚本引用的稳定性,我们会使用CDN上的jQuery文件,例如google的jquery cdn服务。但是如果这些CDN上的jQuery服务不可用,我们还可以通过以下代码来切换到本地服务器的jQuery版本:

<script type="text/javascript" language="Javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.1.min.js "></script>
 
<script type='text/javascript'>//<!--[CDATA[
 
if (typeof jQuery == &#39;undefined&#39;) {
 
document.write(unescape("%3Cscript src='/Script/jquery-1.4.1.min.js' type='text/javascript' %3E%3C/script%3E"));
 
}//]]-->
 
</script>

 

问题:jQuery中的Delegate()函数有什么作用?

回答:delegate()会在以下两个情况下使用到:

1、如果你有一个父元素,需要给其下的子元素添加事件,这时你可以使用delegate()了,代码如下:

$("ul").delegate("li", "click", function(){
 
$(this).hide();
 
});

指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。

2、当元素在当前页面中不可用时,可以使用delegate()

问题:怎样用jQuery编码和解码URL?

回答:在jQuery中,我们可以使用以下方法实现URL的编码和解码。

encodeURIComponent(url) and decodeURIComponent(url)

 

Q: What is the difference between .get()[], and .eq()?

eq返回原生jQuery对象,截取某些el元素生成Jquery新对象

get和[]返回的都是原生的Dom对象,原理一致

get和[]区别是get是通过jQuery对象的方法获取,[]是根据jQuery是一个数组对象获取

What is the difference between $ and $.fn? Or just what is $.fn.

window.jQuery = window.$ = jQuery;
jQuery.fn = jQuery.prototype = {}

what's jQuery's context/selector and why use it 

<div id="context">
    <div id="inner"></div>
</div>

context/selector 示例

<script>
var $ret = $('#inner', $('#context')[0]);
console.log($ret.selector); // #inner
console.log($ret.context); // #context
 
var $ret = $('#inner', '#context');
console.log( $ret.selector); // '#context #inner'
console.log( $ret.context); // document
</script>

context 就是限定查找的范围

context 必须是一个DOM元素,context 底层还是用了.find方法来实现

官方API selector context is implemented with the .find() method,so $("span", this) is equivalent to $(this).find("span")

注:例子仅供展示,id类型查找非常快,所以不要用这种context,直接$('#inner')最好,当查找tag/class时用会比较高效.

attr和prop的区别

attr是操作属性节点,DOM的API setAttribute,getAttribute(HTML)

prop是操作获取到的对应js对象的属性 (JS)

场景:遇到要获取或设置checked,selected,readonlydisabled等属性时,用prop方法显然更好

prop更高效,因为attr要DOM访问 

posted @ 2015-05-27 20:05  点点乐淘淘  阅读(138)  评论(0)    收藏  举报