Jquery第二篇【选择器、DOM相关API、事件API】
前言
前面已经介绍过了Jquery这门语言,其实就是一个javaScript的库…能够简化我们书写的代码….本博文主要讲解使用Jquery定位HTML控件【定位控件就是获取HTML的标签】,使用Jquery操作DOM的API
选择器
Jquery提供了九个选择器给我们用来定位HTML控件..
- 目的:通过九类选择器,能定位web页面(HTML/JSP/XML)中的任何标签
- (1)基本选择器
- 直接定位id、类修修饰器、标签
- (2)层次选择器
- 有父子,兄弟关系的标签
- (3)增强基本选择器
- 大于、小于、等于、奇偶数的标签
- (4)内容选择器
- 定义内容为XXX、内容中是否有标签器、含有子元素或者文本的标签
- (5)可见性选择器
- 可见或不可见的标签
- (6)属性选择器
- 与属性的值相关
- (7)子元素选择器
- 匹配父标签下的子标签
- (8)表单选择器
- 匹配表单对应的控件属性
- (9)表单对象属性选择器
- 匹配表单属性具体的值
- (1)基本选择器
通过这九种的选择器,我们基本可以能获取HTML中任何位置的标签。
Jquery关于DOM的API
前面使用Jquery的选择器来获取到了HTML标签,单纯得到标签是没有用的。我们要对其进行增删改,这样在网页上才能做出“动态”的效果…
JavaScript的DOM能够操作CSS,HTML从而在网页上做出动态的效果..
Jquery是对JavaScript的封装,那么Jquery在得到HTML标签后,也有对应的方法来获取标签的内容,动态创建、删除、修改标签。从而在网页上做出动态的效果
追加
- append():追加到父元素之后
- prepend():追加到父元素之前
- after():追加到兄弟元素之后
- before():追加到兄弟元素之前
查询层次关系
我们发现在选择器上就有层次关系的选择器,在API上也有层次关系的方法。一般地,我们用方法来定位到对应的控件比较多。
- children():只查询子节点,不含后代节点
- next():下一下兄弟节点
- prev():上一下兄弟节点
- siblings():上下兄弟节点
css样式
- addClass():增加已存在的样式
- removeClass():删除已存在的样式
- hasClass():判断标签是否有指定的样式,true表示有样式,false表示无样式
- toggleClass():如果标签有样式就删除,否则增加样式
动画效果
往这些方法下设置参数,那么就可以控制它的隐藏、显示时间
- show():显示对象
- hide():隐藏对象
- fadeIn():淡入显示对象
- fadeOut():淡出隐藏对象
- slideUp():向上滑动
- slideDown():向下滑动
- slideToggle():上下切换滑动,速度快点
CSS尺寸属性
直接调用无参就是获取,给指定的参数就是修改
- offset():获取对象的left和top坐标
- offset({top:100,left:200}):将对象直接定位到指定的left和top坐标
- width():获取对象的宽
- width(300):设置对象的宽
- height():获取对象的高
- height(500):设置对象的高
标签内容和属性
- val():获取value属性的值
- val(“”):设置value属性值为”“空串,相当于清空
- text():获取HTML或XML标签之间的值
- text(“”):设置HTML或XML标签之间的值为”“空串
- html():得到标签下HTML的值
- attr(name,value):给符合条件的标签添加key-value属性对
- removeAttr():删除已存在的属性
增删改标签
$("<div id='xxID'>HTML代码</div>"):创建元素,属性,文本- remove():删除自已及其后代节点
- clone():只复制样式,不复制行为
- clone(true):既复制样式,又复制行为
- replaceWith():替代原来的节点
迭代
由于Jquery对象都是被看成是一个数组,each()方法就是专门用来操作数组的。
- each():是jQuery中专用于迭代数组的方法,参数为一个处理函数,this表示当前需要迭代的js对象
Jquery事件API
JavaScript一大特性就是事件驱动,当用户用了执行了某些动作以后,JavaScript就会响应事件,在事件的方法上,我们就可以对用户的动作“回馈”一些信息给用户!
Jquery也对JavaScript事件进行了封装,我们看一下以下的API:
- window.onload:在浏览器加载web页面时触发,可以写多次onload事件,但后者覆盖前者
- ready:在浏览器加载web页面时触发,可以写多次ready事件,不会后者覆盖前者,依次从上向下执行,我们常用$(函数)简化
- ready和onload同时存在时,二者都会触发执行,ready快于onload
- change:当内容改变时触发
- focus:焦点获取
- select:选中所有的文本值
- keyup/keydown/keypress:演示在IE和Firefox中获取event对象的不同
- mousemove:在指定区域中不断移动触发
- mouseover:鼠标移入时触发
- mouseout:鼠标移出时触发
- submit:在提交表单时触发,true表示提交到后台,false表示不提交到后台
- click:单击触发
- dblclick:双击触发
- blur:焦点失去
值得注意的是:当用户执行动作的时候,浏览器会自动创建事件对象,传递进去给响应事件的方法【类似与监听器的原理】,那么我们在响应方法上就可以获取一些属性:
Jquery第二篇【选择器、DOM相关API、事件API】的更多相关文章
- jQuery学习笔记之DOM操作、事件绑定(2)
jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...
- 在js文件中通过jquery定位到某个dom时候设置事件时候 相当于直接在dom里面添加事件
在js文件中通过jquery定位到某个dom时候设置事件时候 相当于直接在dom里面添加事件 当触发事件时候 会把当前的dom传给该方法
- jQuery 第二章 实例方法 DOM操作选择元素相关方法
进一步选择元素相关方法: .get() .eq() .find() .filter() .not() .is() .has() .add()集中操作 .end()回退操作 .get() $(&qu ...
- jQuery第二篇 (帅哥)
1.1 jQuery操作DOM jQuery课程的目标:学会使用jQuery设计常见效果 选择器 基本选择器:#id ..class .element.* . 层级选择器: 空格.>.+.~ 基 ...
- js 第二篇 (DOM 操作)
DOM 节点含有:元素节点,属性节点,文本节点. document.getElementById("id") //通过页面元素ID 值 捕获元素对象,得到的值为一个object 1 ...
- jquery学习:选择器&dom操作
分类; 1.基本选择器 1.标签选择器(元素选择器) * 语法:$("html标签名”) 获得所有匹配标签名称的元素 2.id选择器 * 语法:$("#id的属性值" ...
- jQuery 第二章 实例方法 DOM操作取赋值相关方法
取赋值相关方法: .html() .text() .val() .size() .addClass() .removeClass() .hasClass() .html() html方法干嘛的呢,底 ...
- python、第二篇:库相关操作
一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...
- jquery第二篇
1 操作元素(属性,css,文档处理) --------------------------属性 $("").attr(); $("").removeAttr ...
随机推荐
- Fiddler模拟重发请求
在测试的过程中会碰到模拟请求的重发或者修改请求的参数进行请求模拟发送 一.Reissue Sequentially 模拟多次重发 1.启用后fiddler:PC端或手机端创建某条数据后,session ...
- python自动化运维五:pexpect
p { margin-bottom: 0.25cm; line-height: 120% } a:link { } pexpect是expect的封装,可以实现ssh,ftp,passwd,telne ...
- dede织梦如何防止被黑客入侵渗透?
dede精简设置篇:避免被hack注射挂马 精简设置篇:不需要的功能统统删除.比如不需要会员就将member文件夹删除.删除多余组件是避免被hack注射的最佳办法.将每个目录添加空的index.htm ...
- Servlet使用简介
Servlet的使用基本包含三个步骤: 1.继承HttpServlet 或实现Servlet 接口 (根据源码分析最终都是对servlet接口的实现) 2.配置地址: 配置web.xml 或者用注解的 ...
- [2014-09-18]Entity Framework 6 预热、启动优化
好久没写博客了,终于憋出了一个大招,现在总结下. 虽然文章题目是针对EF的,但涉及的内容不仅仅是EF. 场景介绍 目前在做的一个项目,行业门户,项目部分站点按域名划分如下: user.xxx.com: ...
- SessionStateMode之Redis共享session
周六的时候用SQL Server来实现session共享,今天下班早就试了下使用Redis来实现session共享.接着上一篇博客,上一篇使用sessionState节点mode="SQLS ...
- copy和mutableCopy都是浅拷贝!!!------你被骗了很多年
所有系统容器类的copy或mutableCopy方法,都是浅拷贝!!! (ps:什么是容器?比如NSArray,NSMutableArray,NSDictionary,NSMutableDiction ...
- tomcat 和 jboss access log 日志输出详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt179 工作中nginx+jboss/tomcat反向代理集成,想打开后端jb ...
- 为什么说汽车VIN码是汽车唯一的"身份证"
人有身份证,那么车有吗?当然了,汽车也是有"身份证"的,出厂时就会跟着车辆一起出生, 一般在车辆的挡风玻璃处.按照国际SAE国际规定,Vin码由17位字符组成,其中包含了车辆的生产 ...
- Ubuntu下安装NVIDIA显卡驱动的教训
今天在ubuntu16.04版本下安装了NVIDIA的显卡驱动,真的是一波十六折: 首先是在英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动. 网址:http://www.nvidia.cn/ ...