jQuery学习笔记整理
一.子元素选择器.:nth-child:匹配父元素下的第N个子或者奇偶元素.注意:序号是从1开始的,而eq是从0开始计数的!它匹配的是前方选择器选择到的元素的父元素下面的第几个元素.例如:ul li:first-child:匹配的是<ul>下面的这个<li>的父元素的第一个孩子.判断是否为li.见下面的代码:
<ul>
<a href="#"></a>
<li>
<ul>
<!--此行的li被选中,因为是其父类元素的第一个子元素,
如果将上面的选择条件改为ul>li:first-child的话,则没有元素被选中-->
<a><li></li></a>
<li></li>
</ul>
</li>
</ul>
二.jQuery的id选择器,class选择器,名称选择器也可以取交集,但是中间不能加逗号,也不能有任何空格!例如:$("div.div#one")
三.jQuery对象的remove方法和detach和empty方法.empty方法与两者有本质的区别,empty方法删除的是选择器匹配的元素的子类元素,而保留选择器的元素(即该方法删除所有子类元素),remove方法会删除匹配的元素,并通过返回值返回.但是这个方法的返回的元素中会删除绑定的事件.(注意:只能删除在<script>标签中的事件,而绑定在标签上的事件将不会删除.)而detach方法则不会删除事件.
四.body中的Onload函数和jQuery中的ready函数的区别:
1.onload函数只能调用一次.如果多次调用,后调用的会把前者覆盖,ready方法可以多次调用
2.ready函数在DOM加载完后就会调用,而onload方法需要等待大部分视频音频加载完才调用
五.jQuery完成编码,有两组方法,encodeURI和decodeURI,以及encodeURIComponent和decodeURIComponent方法.
<script type="text/javascript">
//escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如"春节"的返回结果是%u6625%u8282,escape()不对"+"编码 主要用于汉字编码。
alert(escape("春节"));
alert(unescape(escape("春节")));
//encodeURI()是用来对URL编码的函数。 编码整个url地址,但对特殊含义的符号"; / ? : @ & = + $ , #"不进行编码。对应的解码函数是:decodeURI()。
alert(encodeURI('http://baidu.com?hello=您好&word=文档'));
alert(decodeURI(encodeURI('http://baidu.com?hello=您好&word=文档')));
//encodeURIComponent() 能编码"; / ? : @ & = + $ , #"这些特殊字符。对应的解码函数是decodeURIComponent()。
alert(encodeURIComponent('http://baidu.com?hello=您好&word=文档'));
alert(decodeURIComponent(encodeURIComponent('http://baidu.com?hello=您好&word=文档')));
</script>
六.jQuery的移动元素可以有两种方法:例如:假定我们选中了一个div元素,需要把它移动到p元素后面。
第一种方法是使用.insertAfter(),把div元素移动p元素后面:
$('div').insertAfter($('p'));
第二种方法是使用.after(),把p元素加到div元素前面:
$('p').after($('div'));
表面上看,这两种方法的效果是一样的,唯一的不同似乎只是操作视角的不同。但是实际上,它们有一个重大差别,那就是返回的元素不一样。第一种方法返回div元素,第二种方法返回p元素。需要根据需要,选择到底使用哪一种方法。
七.jQuery的事件委托处理.
javascript的事件模型,采用"冒泡"模式,也就是说,子元素的事件会逐级向上"冒泡",成为父元素的事件。也就是说,一个事件,如果在子元素上未定义某个事件,那么该事件会在其父类元素上一直向外传播,直到被处理或者到达对象层次的最顶层.例如,在处理一个表格的时候,假设表格有100行,每一行都要求点击的时候会触发事件,那么可能会写下面的代码:
$("td").click(function() {
alert("click!");
});
虽然可以这样做,但是这样做是及其没有效率的,由于事件的冒泡传播的特性,那么实际上可以这么处理:
$("table").click(function() {
alert("click!");//采用父类元素集中处理
});
这种方式大大的提高了效率.
八.jQuery的一些提高性能的方法:
1.少改动DOM结构,不要频繁使用.append()、.insertBefore()和.insetAfter()这样的方法。
2.js的原生函数效率要高,用js提供的for,while循环速度要比$.each要快
3.由于js采用的是链式作用域的规则,因此对于变量能够声明为较近的局部变量就这么声明.
jQuery学习笔记整理的更多相关文章
- jQuery 学习笔记:jQuery 代码结构
jQuery 学习笔记:jQuery 代码结构 这是我学习 jQuery 过程中整理的笔记,这一部分主要包括 jQuery 的代码最外层的结构,写出来整理自己的学习成果,有错误欢迎指出. jQuery ...
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
- jQuery 学习笔记
jQuery 学习笔记 一.jQuery概述 宗旨: Write Less, Do More. 基础知识: 1.符号$代替document.getElementById( ...
- jQuery学习笔记(一):入门
jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- Deep Learning(深度学习)学习笔记整理系列之(五)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(八)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(七)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
随机推荐
- PCM-脉码调制
1. PCM---Pulse Code Modulation,脉码调制. 在光纤通信系统中,光纤中传输的是二进制光脉冲“0”码和“1”码,它由二进 脉冲编码调制 制数字信号对光源进行通断调 ...
- sublime添加PHP语法检查
1.找到php文件目录 如E:\xampp\php 放到环境变量的path中 2.sublime 工具-编译系统-新编译系统 { "cmd": ["php& ...
- Linux内核设计第六周 ——进程的描述和创建
Linux内核设计第六周 ——进程的描述和创建 第一部分 知识点总结 一.进程描述符task_struct数据结构 1.操作系统的三大功能: 进程管理.内存管理.文件系统 2.进程的作用: 将信号.进 ...
- 连接mysql问题 mysqlnd cannot connect to MySQL 4.1+ using old authentication
第一篇:PHP5.3开始使用MySqlND作为默认的MySql访问驱动,而且从这个版本开始将不再支持使用旧的用户接口链接Mysql了,你可能会看到类似的提示: #2000 - mysqlnd cann ...
- 盒模型中--border
三要素:宽border-width,形状border-style,颜色border-color <style> div{ width:300px; height:300px; backgr ...
- 下载pdf_不同操作系统,无法正常下载(兼容性问题)
[功能点]:下载pdf文件 [问题描述]:window上传附件,linux无法下载 [根本原因]:window中路径分割符为"\",linux中路径分割符为"/" ...
- 一种在视频OBJECT标签上放置均分四个区域的框选方法
一般在视频区域中做框样式,作应由视频插件自己来实现,但是出于其它一些原因自己琢磨了一个使用HTML标签来实现框选区域的方法,按照行外应该属于笨方法,虽然有点笨,可能在其他方面有借鉴意义,在这里拿出来跟 ...
- a c lang in linux
create shortcut: ln -s sourcepath -destdirectoryln -s /home/tell/calos /home/桌面 #include <iostrea ...
- Java面试题问与答——编译时与运行时
在开发和设计的时候,我们需要考虑编译时,运行时以及构建时这三个概念.理解这几个概念可以更好地帮助你去了解一些基本的原理.下面是初学者晋级中级水平需要知道的一些问题. Q.下面的代码片段中,行A和行B所 ...
- call()\apply()\bind()备忘录
这几个玩意儿几乎看一次忘一次,每次用都要重新看一遍,还是理解的不够.本文对不做深入解释,只根据自己的理解对函数定义进行语义化说明. 1.call() fun.call(context,arg1,arg ...