6.1 window.onload 和 $(document).ready() 的区别?
window.onload 必须等页面内包括图片的所有元素加载完毕后才能执行
$(document).ready() 是dom 结构绘制完毕后就执行,不必等加载完毕,通常简写为$()
ready 事件在load 事件加载之前完成
6.2 如何绑定一个点击事件
方法1:
$('#id').on('click',function(){})
方法2:
$('#id').onclick(function(){})
方法3:
$('#id').bind('click',function(){})
6.3 hover() 与 toggle()
hover () 方法用户模拟光标悬停事件,toggle() 连续点击事件 显示隐藏
6.4 jQuery 实现链式编程的原理是什么?
实现链式编程的核心,是对象中的每一个方法都会返回当前对象。
var 对象 = {
方法名:function(){
// …
return this; // 实现链式编程的核心this
}
}
在方法中,js提供一个this的关键字,表示当前对象。
6.5 jQuery 中的$.each 和$(选择器).each()有什么区别?
$.each() 可以针对所有对象或者数组进行遍历
$(selector).each() 针对jquery选择器返回的jquery内部对象进行遍
6.6 jQuery 中的$.each 和 js 中的 foeEach()有什么区别?
回调函数中参数的位置不一样,forEach中为第一个参数为ele,第二个为index。each中第一个为index,第二个为ele;
回调函数中是否有返回值,forEach中没有返回值,each有返回值,返回被遍历的数组
forEach不能遍历对象,可以使用for in;
而each可以通过jq的方法来遍历,即$.each(obj,function(key,value){})
6.7. jQuery 库中的 $() 是什么?
$() 函数用于将任何对象包裹成 jQuery 对象,接着你就被允许调用定义在 jQuery 对象上的多个不同方法。你甚至可以将一个选择器字符串传入 $() 函数,它会返回一个包含所有匹配的 DOM 元素数组的 jQuery 对象。
用 $. 和 $().有什么区别,它们分别的含义是什么?
$就是jquery对象,$()就是jQuery(),在里面可以传参数,作用就是获取元素
6.8. 网页上有 5 个 <div> 元素,如何使用 jQuery来选择它们?
jQuery 问题是基于选择器的。jQuery 支持不同类型的选择器,例 ID 选择器、class 选择器、标签选择器。鉴于这个问题没提到 ID 和 class,你可以用标签选择器来选择所有的 div 元素。jQuery 代码:$("div"),这样会返回一个包含所有 5 个 div 标签的 jQuery 对象
6.9 你是如何将一个 HTML 元素添加到 DOM 树中的?
可以用 jQuery 方法 appendTo() 将一个 HTML 元素添加到 DOM 树中。这是 jQuery 提供的众多操控 DOM 的方法中的一个。
通过 appendTo() 方法在指定的 DOM 元素末尾添加一个现存的元素或者一个新的 HTML 元素。
6.10 使用 CDN 加载 jQuery 库的主要优势是什么 ?
除了报错节省服务器带宽以及更快的下载速度这许多的好处之外, 最重要的是,
如果浏览器已经从同一个CDN下载类相同的 jQuery 版本, 那么它就不会再去下载它一次. 因此此时此刻,许多公共的网站都将jQuery用于用户交互和动画, 如果浏览器已经有了下载好的jQuery库,网站就能有非常好的展示机会。
6.10. jQuery.get() 和 jQuery.ajax() 方法之间的区别是什么?
ajax() 方法更强大,更具可配置性, 让你可以指定等待多久,以及如何处理错误。get() 方法是一个只获取一些数据的专门化方法。
6.11. 你要是在一个 jQuery 事件处理程序里返回了 false 会怎样?
这通常用于阻止事件向上冒泡。
6.12. 哪种方式更高效:document.getElementbyId("myId") 还是 $("#myId")?
第一种,因为它直接调用了 JavaScript 引擎。
6.13. jquery怎么移除标签onclick属性?
获得a标签的onclick属性: $("a").attr("onclick")
删除onclick属性:$("a").removeAttr("onclick")
设置onclick属性:$("a").attr("onclick","test();")
6.14. jquery中addClass,removeClass,toggleClass的使用
$(selector).addClass(class):为每个匹配的元素添加指定的类名
$(selector).removeClass(class):从所有匹配的元素中删除全部或者指定的类,删除class中某个值;
$(selector).toggleClass(class):如果存在(不存在)就删除(添加)一个类
$(selector).removeAttr(class);删除class这个属性
6.15 jquery中$.get()提交和$.post()提交有区别吗?
相同点:都是异步请求的方式来获取服务端的数据;
不同点:
请求方式不同:$.get() 方法使用GET方法来进行异步请求的。$.post() 方法使用POST方法来进行异步请求的。
参数传递方式不同:get请求会将参数跟在URL后进行传递,而POST请求则是作为HTTP消息的实体内容发送给Web服务器的,这种传递是对用户不可见的。
数据传输大小不同:get方式传输的数据大小不能超过2KB 而POST要大的多
安全问题: GET 方式请求的数据会被浏览器缓存起来,因此有安全问题。
6.16. jQuery中有哪几种类型的选择器?
1、基本选择器:直接根据id、css类名、元素名返回匹配的dom元素。
2、层次选择器:也叫做路径选择器,可以根据路径层次来选择相应的DOM元素。
3、过滤选择器:在前面的基础上过滤相关条件,得到匹配的dom元素。
6.17. 如何用jQuery禁用浏览器的前进后退按钮?
<script type="text/javascript" language="javascript">
$(document).ready(function() {
window.history.forward(1);
window.history.forward(-1);
});