锋利的jquery学习笔记
1.$("#tt")获取的永远都是一个jquery对象,所以要判断页面上是否存在某个对象不能像js中
if($("#tt")){
}
而是通过:
if($("#tt").length > ){
}
ps:当页面中不存在id为tt的元素时,jQuery不会报错,而js中会报错
2. jQuery层选择器$("ancestor descendant")和$("parent>child")
<div>This is <strong>very</strong> important.</div>
<div>This is <em>really <strong>very</strong></em> important.</div>
好比一家人三代同堂,爷爷,父亲和你,这样话爷爷的子元素就是你父亲,同时你父亲也是爷爷的后代元素,而你只是爷爷的后代元素。
总结:后代元素包括子元素,子元素是指父亲的第一代。
3. jQuery选择器的种类
3.1 基本选择器
3.2 层次选择器
3.3 过滤选择器
3.3.1 基本过滤选择器
$("div:first") 选择第一个div;$("div:last")选择最后一个div;$("input:not(.myclass)")选择类不是myclass的input;$("input:even")选择索引为偶数的
input ;$("input:odd")选择索引为奇数的input;$("input:eq(1)")选择索引等于1的input元素;$("input:gt(1)")选择索引大于1input;$("input:lt(1)"
选择索引小于1的input;$(":header")选择头部如:h1……;$("div:animated")选择正在执行动画的div
3.3.2 内容过滤器
:contains(text)选择包含text的元素;:empty选择没有任何内容的元素包括文本;:parent选择有内容的元素包括文本;:has(selector)如:$("div:has('p')")
选择包含有p元素的div
3.3.3 可见性过滤器
:hidden 包括<input type="hidden"/>、<div style="display:none"/>和<div style="visibility:hidden"/>;:visible 如:$("div:visible")
3.3.4 属性过滤器
3.3.5 子元素过滤器
3.3.6 表单对象属性过滤器
3.4 表单选择器
3.5 选择器注意事项
3.5.1 选择器中含有特殊字符 ".","#","(","]"如:<div id="id#b"/> 则选择的时候要用\\转义 $("#id\\#b")
3.5.2 @符号 之前<div title="你好"/> $(" div[@title='']") 现在$("div[title='']")
3.5.3 选择器里带空格
$('.test:hidden')和$('.test :hidden')选取到的结果是不一样的一个是选取隐藏的类为test的元素,后者则是选取类为test的元素里面隐藏的元素
4. dom操作
4.1 元素添加
4.1.1 添加到元素里面 append、preappend
4.1.2 添加到元素外after、before
4.2 移除节点
4.2.1 彻底删除节点 remove
4.2.2 清空节点 empty
4.3 复制节点
4.3.1 复制节点内容不复制节点行为 clone().append()
4.3.2 复制节点内容并且复制节点行为 clone(true).append() ps:都是先复制然后添加到其他节点
4.4 替换节点
4.5 属性操作
4.6 包裹节点
4.7 样式操作
4.8 遍历节点
4.8.1 children()只考虑子元素不考虑任何后代元素
4.8.2 next() 匹配元素后面紧邻的同辈元素
4.8.3 prev() 匹配元素前面紧邻的同辈元素
4.8.4 siblings()获取当前元素前后所有的同辈元素
4.8.5 closest()获取离元素最近的元素 如:$("p").closest("li").removeclass("a")
4.9 css操作
4.9.1 CSS()操作style的属性时记得将属性用引号包含如:$("p").css({"font-size":30px,"background-color":red})否要用驼峰式写法如:fontSize:30px
4.9.2 获取元素高度 两种方法一是$("p").css("height")以及$("p").height() 区别是一个是获得属性可能是auto一个是具体的元素高度
4.9.3 获取设置元素宽度 width()
4.10 位置
4.10.1 offset() 相对于视窗的偏移注意两点:1.只针对可见元素 2.获取到两个属性一个top一个left
4.10.2 position 获取相对偏移
4.10.3 scrollTop()和scrollLeft()获取元素的滚动条距左边和顶部的距离
5.事件和动画
5.1 Windows.onload()和$(document).ready()的区别
执行时机:windows.onload()是在所有元素加载完成包括关联文件加载完成后才执行;而$(document).ready()是在dom元素准备就绪后执行
ps:windows.onload()相当于jQuery中的$(window).load()
多次使用:如页面加载完成后想通过windows.onload = one 和windows.onload = two 分别调用one和two但是结果只会调用two,因为onload只会绑定一个函数,后
面的会自动把前面的覆盖掉;而$(document).ready()可以追加事件如:$(document).ready(function(){one()}) 然后追加一个事件
$(document).ready(function(){tewo()})
简写方式:$(document).ready()可以简写成$(function(){}) 或者$().ready(function(){})
5.2 事件绑定
5.2.1 基本效果 $("p").bind("click",function(){执行代码})
5.2.2 加强效果(显示则隐藏否则显示)$("p").bind("click",function(){if($(this).is(":visible")){$(this).hide();}else{$(this).show();} })
5.2.3 改变绑定事件类型
5.2.4 简写绑定事件 实际上就是将之前的bind(“mouseout”,function(){})换成了.mouseout(function(){})
5.2.5 合成事件 hover(enter,leave)当光标悬停的时候就会触发第一个事件,当光标离开的时候就会触发第二个函数;toggle(fn1,fn2,fn3)会依次交替执行里面的函数
5.3 事件冒泡
5.3.1 什么是事件冒泡
5.3.2 怎么阻止事件冒泡 event.stopPropagation()
5.3.3 阻止默认行为 如a标签超链接跳转、表单验证当验证不成功时就要阻止默认的行为 event.preventDefault()
5.3.4 同时阻止冒泡事件和默认行为 则可以写成 return false
5.4 事件对象的属性
5.4.1 event.type() 返回事件类型
5.4.2 event.preventDefault() 阻止默认事件
5.4.3 event.stopPropagation() 阻止冒泡事件
5.4.4 event.target 获取触发事件的元素
5.4.5 event.pageX和event.pageY获取鼠标相对于屏幕的坐标
5.4.5 event.which在鼠标的点击事件中获取鼠标的左(1)、中(2)、右(3)
5.4.6 event.metaKey 返回的是一个布尔值如 if(event.metaKey == 1)用来判断ctrl键是否按下
5.4.7 event.originalEvent 指向原始的事件对象
5.5 移除事件
5.5.1 unbind() 移除绑定的事件给参数就是移除具体的事件如:$("p").unbind("click")不给参数就能移除所有的事件如:$("p").unbind()
语法结构如:unbind(type,function) Ps:type是事件类型,function是某个函数如:unbind("click",function1)
5.5.2 one() 也可以绑定事件,但是的事件只执行一次
5.6 模拟操作
$("p").trigger("click")简写:$("p").click()
5.7 绑定事件的其他用法
5.7.1 一次对多个事件进行绑定 如:$("p").bind("mouseover mouseout",function(){})
5.7.2 给元素绑定的多个事件用命名空间规范起来 如:$("p").bind("click .aaa",function(){}) $("p").bind("mouseover .aaa",function(){}) 删除绑定事件则
$("p").unbind(“.aaa”)
5.7.3 相同事件不同的命名空间执行$("p").trigger("click!")
5.8 jquery中的动画
5.8.1 show()和hide() 这个相当于.css("display","block或者inline")和.css("display","none")
5.8.2 show()和hide() 让元素动起来slow:600ms;normal:400ms;fast:200ms 如:show(slow)也可传一个数字如:show(1000)将在一秒内慢慢出现
5.8.3 fadeIn()和fadeOut() 只是改变元素的不透明度
5.8.4 slideUp()和slideDown() 通过改变元素的高度来讲元素隐藏 ps:让元素隐藏的方式有很多种,有通过改变高度的有通过改变透明度的,改变高度的,都可改变的。
jQuery中任何动画都可以传递两种参数一种是“slow”、"normal","fast"还有一种就是数字了代表具体的时间
5.8.5 animate({left:"50px"},speed,callback) 第一个参数就是包含样式属性跟值的映射,第二个是参数,第三个是回调函数
5.8.6 累加累减动画 animate({left:"+=50px",speed,callback})
5.8.7 多重动画
5.8.7.1 同时执行 animate({left:50px,height:"100px"},speed,callback)
5.8.7.2 顺序执行 animate({left:"50px"},speed,callback);animate({height:500px},speed,callback)
锋利的jquery学习笔记的更多相关文章
- 锋利的JQuery 学习笔记
第一章 认识JQuery ·页面加载事件(可以写多个ready())$(document).ready(function(){alert(“hello world”);} ...
- 锋利的jQuery学习笔记之jQuery选择器
在介绍jQuery选择器之前,先简单介绍一下CSS选择器---> 一.CSS选择器 常见的CSS选择器有以下几种: 选择器 语法 描述 示例 标签选择器 E{CSS规则} 以文档元素为选择符 t ...
- 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文本的操 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- JQuery学习笔记——层级选择器
JQuery学习笔记--层级选择器 上一篇学习了基础的五种选择,分别是id选择器,class选择器,element选择器,*选择器 和 并列选择器.根据手册大纲,这篇学习的是层级选择器. 选择器: 1 ...
- jQuery学习笔记之Ajax用法详解
这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...
随机推荐
- think in java 读书笔记 3 —— 数据报
目录 think in java 读书笔记 1 ——移位 think in java 读书笔记 2 —— 套接字 think in java 读书笔记 3 —— 数据报 概要 1. 数据报基本知识 2 ...
- Spark(2) - Developing Application with Spark
Exploring the Spark shell Spark comes bundled with a PERL shell, which is a wrapper around the Scala ...
- Octopus系列之接下来的任务
更新默认国家[已实现] 更新每页显示条数的后台控制[已实现] 更新国家和区域的Ajax的关联[已实现] 更新详情页面的 属性选择 脚本提示[已实现 可以做到和兰亭一样的效果了] 增加优惠方案的设置和批 ...
- wp8.1 Study7: ListView 和GridView应用
对于列表控件,WP8.1常用的是ListView.GridView.ListBox控件.其中前两个是从第三个继承来的. 1.ListView控件 它是展示垂直列表的,如下图所示.它十分适合展示数据. ...
- 第一次使用Git心得体会
用书本上的概念讲,Git是一个分布式的版本控制工具,每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,能够不依赖于网络和中心服务器.也就是说Git能够不需要服务器而在 ...
- (转)iOS应用架构谈 view层的组织和调用方案
前言 <iOS应用架构谈 开篇>出来之后,很多人来催我赶紧出第二篇.这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分. 现在好啦,第二 ...
- 解决python version 2.7 required,which was not find in the registry
程序自动写注册表 http://www.vvivv.com/post-143.html 手工写 http://blog.csdn.net/baikaishui525/article/details/9 ...
- [microsoft]PE和COFF文件格式
前言 我们知道,vs的C/C++编译工具把每一个编译单元(一个.c或.cpp源文件)编译成一个对象文件(.obj文件):然后用链接器把这些对象文件组合一个单个文件(.exe文件),称为可移植的可执行文 ...
- Android 导入jar包 so模块--导入放置的目录
Android视图下 app目录下的jniLibs 对应Project 视图app下的libs目录 把jar包或者带so文件的文件夹(一般以处理器型号命名如:arbeabi arm64-v8a)复制 ...
- KVO的内部实现原理
kvo概述 kvo,全称Key-Value Observing,它提供了一种方法,当对象某个属性发生改变时,允许监听该属性值变化的对象可以接受到通知,然后通过kvo的方法响应一些操作. kvo实现原理 ...