jq笔记

jquery笔记


1.dom元素不能使用jq的方法,反之亦然。
dom->jq $(dom) 
jq->dom jq[index]或者jq.get(index);
2.jq size和length方法区别:
1)针对标签对象元素,比如数html页面有多少个段落元素<p></p>
那么此时的$("p").size() == $("p").length
2)计算一个字符串的长度或者计算一个数组元素的个数
那么此时只能用length而不能用size()
3. jQuery.extend(object);为扩展jQuery类本身.为类添加新的方法。 
jQuery.fn.extend(object);给jQuery对象添加方法。 
4. .html(),.text(),.val()区别:
.html()用为读取和修改元素的HTML标签
.text()用来读取或修改元素的纯文本内容
.val()用来读取或修改表单元素的value值。


这三个方法功能上的对比
.html(),.text(),.val()三种方法都是用来读取选定元素的内容;
只不过.html()是用来读取元素的HTML内容(包括其Html标签)
.text()用来读取元素的纯文本内容,包括其后代元素,
.val()是用来读取表单元素的"value"值。
其中.html()和.text()方法不能使用在表单元素上,而.val()只能使用在表单元素上;
另外.html()方法使用在多个元素上时,只读取第一个元素;.val()方法和.html()相同,如果其应用在多个元素上时,只能读取第一个表单元素的"value"值,
但是.text()和他们不一样,如果.text()应用在多个元素上时,将会读取所有选中元素的文本内容。
.html(),.text(),.val()都可以使用回调函数的返回值来动态的改变多个元素的内容。


5.eq(index)与get(index)
前者返回jquery后者返回dom
6.window.onload() 和$().ready()
onload需要页面上所有的资源都加载上之后执行,而ready则是DOM文档树已经解析完成时,说ready比onload快最显著的是比如一个页面上有一个很大的图片,加载要好久,onload只有在图片加载完成之后执行,而ready不必等图片加载完成


在$(document).ready()执行时,整个DOM文档树已经解析完成,即各个DOM元素都已经可以访问了(但是对于某些元素的某些属性此时访问可能还不精确,如图片的宽度高度)。$(function(){})在根据需要放置位置,可能在ready之前,可以在其之后。


1)是onload,不是onLoad。
2)没有document.onload,只有window.onload。
3)是window.οnlοad=myFunction,而不是window.οnlοad=myFunction()。如果写成后者,执行到此处的时候,会先计算一下myFunction()的返回值是多少,再传递给window.onload。只有写成前者,将myFunction这个函数指向window.onload(类似C语言中的指针变量)


相应unload


7. event.preventDefault():通过使用 preventDefault() 方法只取消默认的行为。
event.stopPropagation():通过使用 stopPropagation() 方法只阻止一个事件起泡。
event.stopImmediatePropagation:阻止 绑定在事件触发元素的其他同类事件的callback的运行且阻止事件传播到父元素
return false:通过返回false来取消默认的行为并阻止事件起泡。
*IE不支持event.preventDefault()和event.stopPropagation事件,相应由returnValue属性设值为false:及cancelBubble属性为true:取代
target对应IE中的event.srcElement
访问事件对象,IE对应的为window.event,而其他浏览器为argument[0]或直接传参


8.弃用live()
.live()事件被驱动时,是从最内层元素往上冒泡到dom,这个是存在出现意外的风险的 
.on()函数多了一个参数selector,可以从被驱动的元素直接冒泡到dom,省时又安全 


下面来具体说下.live()的几个缺陷: 
(1)耗时 
(2)不能串起来用, For example, $(“a”).find(“.offsite, .external”).live( … ); 这个是不行的 
(3)还是耗时 
(4)使用.live()时,event.stopPropagation()无效 
(5)可能出现意外结果 


8.keydown和keypress区别
虽然从字面理解, KeyDown是按下一个键的意思, 但实际上二者的根本区别是, 系统由KeyDown返回键盘的代码, 然后由TranslateMessage函数翻译成成字符, 由KeyPress返回字符值. 因此在KeyDown中返回的是键盘的代码, 而KeyPress返回的是ASCII字符. 所以根据你的目的, 如果只想读取字符, 用KeyPress, 如果想读各键的状态, 用KeyDown. 
9.mouseover和mouseenter区别
不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。和mouseout连用
只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。和mouseleave连用
10.finish和stop区别
均清除动画队列但前者是所有的animation都到目标值而后者只是当前animation
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值