js 五 jquery的使用,调用
4 this 关键字
this 表示当前函数或方法的调用者
1 全局函数由window调用,所以全局函数中的this 指的是window对象
2 事件处理函数中使用this,指的是当前事件的触发对象
2 事件对象
1 事件对象伴随事件触发产生,包含当前事件相关的所有信息
2 获取事件对象
事件对象伴随事件发生,自动产生,由浏览器以参数的形式传入到事件处理函数中,我们只需要接收参数就可以
et:
function fn(evt){
console.log(evt)
}
fn(evt);
3 事件对象的属性
1 target / srcElement
表示当前事件的触发对象;
et:
console.log(evt)
2 不同的事件类型对应的事件对象中包含的信息也有所不同
1 鼠标事件对象常用属性
1 offsetX offsetY
获取鼠标在元素上的坐标位置
默认元素左上角为原点
2 clientX clientY
获取鼠标在网页上的坐标位置
3 screenX screenY
获取鼠标在屏幕上的坐标位置
3 键盘事件对象的常用属性
1 onkeydown 事件
1 which 属性
获取当前按键的键码
对于大小写字母不进行区分
2 onkeypress 事件
1 key属性
获取当前按键对应的字符
2 which 属性
获取按键对应的ASC码 ,区分大小写
3 事件处理机制
1 事件传递
当页面元素触发事件时,其他相关元素都会接收到这个事件,可以选择对事件作出处理
2 事件传递机制:
指页面中元素处理事件的顺序
1 分类:
1 冒泡
冒泡传递指事件由里向外传递机制
2 捕获
捕获指事件从外向里传递,IE不支持
W3C标准事件监听函数
addEventListener(param,fun,boolean)
参数:
param:事件函数名,取消on前缀
et : click
fun:事件触发要执行的操作,通常以匿名函数给出
boolean:默认为false,可以省略,表示冒泡传递,设置为true,表示捕获传递
2 阻止事件传递
evt.stopPropagation()
jquery 使用
1 jquery是一个JS库,封装了原生的JS,得到一套完整的方法
核心 :write less, do more
版本:
1 xx.xx版本的jquery兼容IE6.7.8
2 XX.XX 版本的jquery 不再兼容ie6.7.8
优点:
1 简化DOM操作,像操作css一样操作DOM
2 直接通过选择器设置样式
3 简化JS事件操作
4 采用链式调用操作JS节点
--------------------
5 Ajax技术更加完善
6 提供各种便捷的动画处理
7 基于jquery的插件使用更便捷
8 可能通过jquery自定义插件
1 引入jquery 文件
<script src=''></script>
2 如果想要使用jQuery语法,必须将文件引入操作放在代码前面
2 使用jQuety
1 jquery对象:实际上是对原生的js对象进行封装,封装之后可以使用jQuery提供的方法
注意:
1 jQuery对象可以使用jQuery提供的方法,原生js对象可以使用原生JS方法,方法不能混用
2 jQuery对象和原生JS对象可以共存,也可以互相转换
2.工厂函数 $()
jQuery对象可以使用 jQuery或者 $表示
使用:
$('param')
3 原生对象与jquery对象互相转换
1 DOM -> jquery
var h1 = document.get....
var $h1 = $(h1);
2 jquery -> DOM
var h1 = $h1[0];
var h1 = %h1.get(0);
3 jQuery选择器
1 根据提供的选择器到页面获取元素,返回都是jquery对象组成的数组
2 $('选择器');
3 选择器分类:
1 基础选择器
1 id 选择器
$('#id');
2 类选择器
$('.className');
3 标签选择器
$('tagName');
4 群组选择器
$('selector1,selector2,...')
2 层级选择器
1 后代选择器
$('selector1 selector2');
2 子选择器
$('selector1>selector2');
3 相邻兄弟选择器
$('selector1+selector2'); 只匹配一个
匹配紧跟在seletor1后
4 通用兄弟选择器
$('selector1~selector2');
匹配selector1 后面所有满足selector2的兄弟元素
3 筛选选择器
也叫过滤选择器,需要结合其他选择器使用
1 :first
匹配一组元素中的第一个
et: p:first
2 :last
匹配一组元素中的最后一个
selector:last
3 :not
否定筛选,将selecctor匹配的元素过滤在外,匹配其他元素
:not(selector)
4 :odd
匹配偶数行对应的元素
5 :even
匹配奇数行对应的元素
6 :eq(index)
匹配下标等于index的元素
et: $('p:eq(3)').css('color','red');
7 :lt(index)
匹配下标小于index的元素
8 :gt(index)
匹配下标大于index的元素
4 属性选择器
{引用代码
<h1 id="d1">一级标题</h1>
<p class='c1'>什么鬼1</p>
<h2 id='ad2' class='d1'>二级标题</h2>
}
1 根据属性名筛选元素
[arrtibute]
et: $('[id]').css('color','red');
2 根据属性名称和属性值筛选元素
[arrtibute="value"]
et: $('[id=d1]').css('border','1px solid')
3 匹配属性名以指定字符开头的元素
[arrtibute^=value]
^ 表示以...开头
et: $('[id^=d]').css('font-size','16px')
4 匹配属性值以指定字符结尾的元素
[arrtibute$=value]
$表示以...结尾
et: $('[class$=1]').css('font-size','32px')
5 匹配属性值中包含指定字符的元素
[arrtibute*=value]
et: $('[id*=d]').css('background','orange')
6 匹配属性名不等于指定属性值的元素
[arrtibute!=value]
5 子元素过滤选择器
1 :first-child
匹配属于父元素中的第一个子元素
2 :last-child
匹配父元素中最后一个子元素
3 :nth-child()
匹配第n个子元素
et : $('li:nth-child(even)').css('color','red')
将关键字或是表达式做参数传递给:nth-child()
关键字 或表达的值会被作为下标匹配元素
even 取值: 1 3 5 7 ...
odd 取值:0 2 4 6 ...
4 jQuery 操作DOM
1 内容操作
1 html()
设置或读取jquery中的HTML内容,类似于原生JS innerHTML
2 text()
设置或读取jquery对象中的文本内容,类似原生JS innerText
3 val()
设置或读取表单对象的value值
2 属性操作
1 attr()
读取或设置jquery对象的属性
et:
$('div').attr('class','c1')
2 removeattr()
移除指定属性
et:
$('div').removeAttr('id')
3 样式操作
1 attr()
为元素添加id或class属性,对应选择器样式
2 addClass('类名')
为元素的class属性赋值,匹配选择器样式
注意:
可以重复调用 ,为class添加属性值
1 $('p').addClass('类名1 类名2')
2 $('p').addClass('类名1')
$('p').addClass('类名2')
3 $('p').addClass('类名1').addClass('类名2')
3 removeClass('')
移除指定的class属性值
参数可以省略,省略之后表示清空类选择器
4 toggleClass()
切换样式,给出class属性值,如果元素存在指定的类名,则移除,不存在则添加
5 css()
设置或读取元素的css属性
1 css('width')
读取元素的宽度
2 css('width','300px');
设置元素的样式
3 css(JSon对象)
为元素设置一组css样式
css({'color':'red','width':'300px'})
4 节点查询
1 children() / children('selector')
获取jquery对象的所有子元素或者获取指定选择器匹配的所有子元素
注意:只包含直接子元素,不考虑后代子元素
2 find('selector')
获取满足selector的所有后代元素
3 prev() / prev('selector')
获取满足前一个兄弟元素或者获取前一个兄弟元素,必须满足slector
4 next() / next('selector')
获取后一个兄弟元素 或者 获取后一个兄弟元素,必须满足selector
5 siblings() / siblings('selector')
获取前后所有的兄弟元素 或者 满足selector的所有兄弟元素
6 parent()
获取jquery对象的父元素
5 节点操作
1 创建节点
var $h1 = $('<h1>一级标题</h1>');
var $h1_1 = $('<h1></h1>');
h1.attr()
h1.html()
h1.css();
2 添加节点
1 以子元素的形式插入到页面中
1 $parent.append($h1);
将新创建的对象作为最后一个子元素插入
2 $parent.prepend($h1_1);
将新创建的对象作为第一个子元素添加
2 以兄弟元素的形式插入到页面中
1 $obj.after($h1);
将新创建的对象作为$obj的下一个兄弟元素插入
2 $obj.before($h2);
将新创建的对象作为$obj的前一个兄弟元素插入 3 删除节点
$obj.remove()
移除 $obj
6 事件操作
1 页面加载完毕之后再执行
原生JS:
window.onload = function(){};
jquery的三种写法
1 $(document).ready(function(){});
2 $().read(function(){});
3 $(function(){})
原生 onload事件与jquery的ready()方法区别:
1 原生的onload事件多次使用时,前面的会被覆盖不执行,需要做特殊判断和处理,而ready方法没有此问题,
可以重复调用多次,按顺序依次执行
2 原生的onload事件会等待文档中DOM树及所有资源都加载完毕之后才执行,而ready方法会等文档DOM树加载完毕后就执行
2 jquery事件绑定
1 使用bind()
$obj.bind('事件函数名',function(){});
注意:省略on 前缀
et:
$('div').bind('click',function(){})
2 使用事件函数
$obj.事件名称(function(){});
注意:省略on前缀
et:
$('div').click(function(){});
3 事件对象及属性
1 获取事件对象与原生方法一致
都是以参数形式自动传入
$('div').click(function(evt){console.log(evt)})
2 事件对象的属性保持一致
target
offsetX
...
4 this 对象
当前函数或方法的调用对象 使用each()迭代数组
1 $.each();
语法
$.each(arr,function(index,obj){} )
// index :遍历出来的元素的下标
// obj: 表示遍历出来的元素
2 $obj.each();
语法:
$obj.each(function(index.obj){
//index:遍历出来的元素的下标
//obj:表示遍历出来的元素
})
#
$.ajax({
url:"/server20/",
type:"get",
dataType:"json",
success:function (data) {
$.each(data,function (i,obj) {
console.log(obj.fields.name)
})
}
})
js 五 jquery的使用,调用的更多相关文章
- js与jQuery方法对比
javascript与jQuery方法对比jquery对象转dom对象 // 方式一(推荐使用) $("input")[0] // 方式二 $("input" ...
- asp.net中js和jquery调用ashx的不同方法分享,需要的朋友可以参考一下
asp.net中js和jquery调用ashx的不同方法分享,需要的朋友可以参考一下 =============js================ 复制代码代码如下: var xhr = n ...
- 玩转web之javaScript(五)---js和jquery一些不可不知的方法(input篇)
很多时候我们都利用js和jquery中操作input,比如追加属性,改变属性值等等,我在这里简单的整理了一下,并在以后逐步补充. 1:删除input的某一属性. <input name=&quo ...
- JS和JQuery的总结
JS部分 一, 词法结构 区分大小 注意://单行 /*多行注释*/ 字面量(直接量literal) 12 // 数字 5.8//小数 "hello" 'hello' true ...
- JS和JQuery总结
目录目录 2js部分一.词法结构 1.区分大小写 2.注意 // 单行 /* 多行注释 */ 3.字面量(直接量 literal) 12 / ...
- JS 实现 jQuery的$(function(){});
1.浏览器渲染引擎的HTML解析流程 何谓“渲染”,其实就是浏览器把请求到的HTML内容显示出来的过程.渲染引擎首先通过网络获得所请求文档的内容,通常以8K分块的方式完成.下面是渲染引擎在取得内容之后 ...
- JavaScript学习总结(五)——jQuery插件开发与发布
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
- js和jquery获取当前对象的子元素
开发中经常遇到需要获取ul下的il对象,个人总结了js和jquery的方法. HTML片断: <ul class="box"> <li>子元素1</l ...
- prototype.js 和 jQuery.js中 ajax 的使用
这次还是prototype.js 和 jQuery.js冲突的问题,前面说到过解决办法http://www.cnblogs.com/Joanna-Yan/p/4836252.html,以及上网说的大部 ...
随机推荐
- Day4作业:蛋疼CRM系统
先上流程图,还得27寸4K显示器,画图各种爽: ReadMe: 运行程序前的提示: 1.抱歉,你得装prettytable模块...... 2.还得抱歉,如果shell中运行,最好把字体调得小点,表格 ...
- Kafka管理与监控——broker宕机后无法消费问题
背景 因磁盘满了,导致kafka所有的服务器全部宕机了,然后重启kafka集群,服务是启动成功了,但有一些报错: broker1: broker2: broker3:一直在刷以下错误信息 虽然报了这些 ...
- Mysql安装、查看密码、修改密码、初始化、修改字符类型
安装mysql 参照python篇一键安装lnmp.安装完之后再按照下面修改密码,修改配置文件,否则安装的时候就修改配置文件会出错. 注意:这也是二进制安装mysql.另一种二进制安装容易出错,生产环 ...
- java构造方法前加void有什么作用
构造方法前面是没有任何返回符,不能加任何返回类型,包括void.一个构造方法一旦加了void,那么这个就不是构造方法了,变成了一个普通的方法.至于你程序出现的情况,是这样的.任何一个Java类,如果你 ...
- Win10使用mysqldump导出csv文件及期间遇到的问题
作为测试,我们这里使用了名为testdb的数据库中的名为test_table的表,首先我们使用如下SQL来查看其中有何数据: select * from testdb.test_table 数据如下: ...
- 第十章 会话管理——《跟我学Shiro》
转发地址:https://www.iteye.com/blog/jinnianshilongnian-2028675 目录贴:跟我学Shiro目录贴 Shiro提供了完整的企业级会话管理功能,不依赖于 ...
- TCP使用
TCP使用注意事项总结 目录 发送或者接受数据过程中对端可能发生的情况汇总 本端TCP发送数据时对端进程已经崩溃 本端TCP发送数据时对端主机已经崩溃 本端TCP发送数据时对端主机已经关机 某个连 ...
- 服务器NGINX连接数
kill -HUP 1900 重启某个进程! 1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} ...
- mac 已损坏 移至废纸篓
1.问题描述: 从网页下载的安装包,总是提示“已损坏,移至废纸篓”这类的信息 2.原因: 系统版本过高,对安全性进行了校验. 3.解决方案:命令行输入以下命令,然后输入密码 sudo spctl -- ...
- 基于nginx与zookeeper的API Gateway实现笔记 - 环境搭建
为了简化操作,采用操作系统为CentOS 8. 首先需要编译出libzookeeper,在官网下载最新的zookeeper源码,或者github上clone一个,地址为:https://github. ...