JQuery基础知识==认识JQuery
jQuery API 中文文档:https://www.jquery123.com/
jQuery Mobile 菜鸟教程:http://www.runoob.com/jquerymobile/jquerymobile-tutorial.html
更多:https://github.com/summerSongXia/summerSongXia.github.io/tree/master/JQuery
1. Javascript简介
1.1 JS的3个弊端:复杂的文档对象模型(DOM),不一致的浏览器实现和便捷的开发,调试工具的匮乏
1.2 为了简化JS的开发,一些JS程序库就诞生了,大部分的JS程序库都是封装了很多预定义的对象和实用函数,快捷开发并兼容各大浏览器
1.3 一些JS程序库:Prototype,Dojo,YUI,Ext JS,Moo Tools,JQuery库:轻量级,拥有强大的选择器,出色的DOM操作,可靠的事件处理,完善的兼容性,链式操作等功能
2. JQuery优势
2.1 轻量级:主要是采用UglifyJS压缩
2.2 强大的选择器:允许使用从CSS1到CSS3几乎所有的选择器,以及JQuery独创的高级而复杂的选择器,另外还允许加入插件支持XPath选择器
2.3 出色的DOM操作的封装
2.4 可靠的事件处理机制
2.5 完善的Ajax:JQuery将所有的Ajax操作封装到一个函数$.ajax()里面,可以是开发者专心处理业务逻辑,无需关心复杂的浏览器兼容性和XMLHttpRequest对象的创建和使用、
2.6 不污染顶级变量:jQuery只建立一个名为jQuery的对象,其所有的函数方法都是在这个对象之下。其别名$也可以随时交出控制权,不会污染其他的对象。这个特性使得jQuery可以与其他JS库共存。
2.7 出色的浏览器兼容性
2.8 链式操作方式:即对于发生在同一个jQuery对象上的一组操作,可以直接连写而不用重复获取对象
2.9 隐式迭代:当用jQuery找到带有.myClass类的全部元素,可以将他们直接全部隐藏,而不用循环遍历每一个返回的元素
2.10 行为层和结构层的分离
2.11 丰富的插件支持
2.12 完善的文档
2.13 开源
3. 配置jQuery环境
官网下载:http://jquery.com/
jquery.js 是开发版,主要用于测试、学习和开发
jquery.min.js 是生产版,是经过工具压缩或经过服务器开启Gzip压缩过的,主要用于产品和项目
一般是直接在head中直接引入:<script src=" " type="text/javascript"></script>
4. 一般的代码风格
4.1 $("#foo")等价于 jQuery("#foo") $是jQuery的简写
4.2 $(document).ready(function () { }) 等价于 $(function() {})
4.2 链式操作风格:
$(this).addClass('active') //给当前元素添加 active类
.next().show() //下一个元素显示
.parent().sibliings().children('a').removeClass('active') //父元素的同胞元素的子元素a移除类active
.next().hide() //他们的下一个元素隐藏
对于同一个对象,不超过3个操作的,可以写在一行:$('li').show().unbind('click');
对于同一个对象的多个操作,建议每一行写一个操作
对于多个对象的少量操作,可以让每个对象写一行
5. window.onload()与$(document).ready()区别
5.1 执行时机不同:window.onload()必须等待网页中所有的内容(包括图片)加载完毕以后,才可以执行;$(document).ready()是网页中所有的DOM结构绘制完毕就可以执行,可能DOM元素关联的东西并没有加载完毕
5.2 编写个数不同:window.onload()不可以编写多个;$(document).ready()可以同时编写多个
6. jQuery对象和DOM对象
6.1 DOM对象:DOM(文档对象模型),每一份DOM都可以表示成一棵树,在DOM树中,每个子节点都是DOM元素。可以通过JS的getElementById或getElementByTagName来获取元素节点,像这样得到的DOM元素就是DOM对象
获取DOM对象:var domObj=document.getElementById("id")
6.2 jQuery对象:是通过jQuery包装DOM对象之后产生的对象
6.3 如果获取的对象是jQuery对象,在变量名前加$ var $varibal=jQuery对象;如果获取的是DOM对象,var varibal=DOM对象
7. jQuery对象和DOM对象的相互转换
7.1 jQuery对象转换为DOM对象
方法一:jQuery对象是一个类似数组的对象,因此可以通过[index]的方法得到相应的DOM对象
var $cr=$('#cr') //jQuery对象
var cr=$cr[0] //DOM对象
方法二:是jQuery本身提供的,通过get(index)方法得到相应的DOM对象
var $cr=$('#cr') //jQuery对象
var cr=$cr.get(0) //DOM对象
7.2 DOM对象转换为jQuery对象:对于一个DOM对象,只需使用$()将其包裹起来,就可以转换为jQuery对象了
var cr=document.getElementByTd('id') //DOM对象
var $cr=$(cr);
7.3 备注:DOM对象才可以使用DOM中的方法,jQuery对象不可以使用DOM对象中的方法
8. 其他
is(":checked")是jQuery中的方法,判断jQuery对象是否被选中,返回boolean值
JQuery基础知识==认识JQuery的更多相关文章
- jquery基础知识汇总
jquery基础知识汇总 一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQu ...
- JQuery基础知识(1)
JQuery基础知识(1) 对JQuery学习中遇到的小细节进行了整理和总结 1.JQuery hide()和show()方法,分别对选中的元素进行隐藏和显示,语法:hide()和show分别有对应的 ...
- JQuery基础知识(2)
JQuery基础知识(2) JQuery滑动效果 1. JQuery slideDown(); 语法: $(selector).slideDown(speed,callback); 可选的 speed ...
- 0417 jQuery基础知识
jQuery基础知识 jQuery需要引入一个js文件,并且这个文件在所有js代码之前(包括引入的其他js文件) 基础操作(对比js): 1.找标签: js:document.getElement.. ...
- JQuery基础知识梳理篇
这周没事,优化线上项目,因为前端都在赶项目,我又若菜.于是前端数据展示也要自己来.看javascript看到吐,决定梳理一下Jquery基础知识.敲黑板) 闲扯结束,进入正题. 选择器 介绍 jque ...
- 【JQuery基础知识/statusCode(状态码)】---初学者必备
今天,给大家分享一下JQuery的基础知识,简单介绍一下JQuery高级_Ajax,和我们常见的一些statusCode(状态码)~~~ 如果存在错误,请大家多多指正留言~小女子在此谢过! 一.JQu ...
- jQuery基础知识总结
1. jQuery基本概念介绍 1.1 什么是jQuery 一个javascript库,把常用方法写到一个js文件中,需要的时候直接调用即可 学习jQuery就是学习一些方法 ...
- jQuery基础知识准备
一. 代码风格在jQuery程序中,不管是页面元素的选择.内置的功能函数,都是美元符号"$"来起始的.而这个"$"就是jQuery当中最重要且独有的对象:jQu ...
- 【Python全栈-jQuery】jQuery基础知识
前端学习之jQuery 一. jQuery是什么? <1> jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. < ...
随机推荐
- URL网址规范化
网址URL规范化(URL canonicalization)是近一年来在Google搜索结果中出现的一个很大的问题.它指的是搜索引擎挑选最好的URL网址作为真正网址的过程.举例来说,下面这几个URL一 ...
- 进击的菜鸟问题1(设置checkbox全选)
问题:设置页面标签属性时,常常使用jquery.attr("","");在设置checkbox属性时,会出现操作设置checkbox属性后,无法清除,导致第二次 ...
- ubuntu 和 CentOS 安装docker
一.ubuntu14.04 安装docker 1 apt-get update2 apt-get update-grup3 reboot4 检查mapper的安装:ls -l /sys/class/m ...
- 阿里巴巴Druid数据库连接池的使用
准备: 创建一个基于SpringBoot的web项目 1 引入相关依赖 jpa.mysql.druid <?xml version="1.0" encoding=" ...
- Flask07 Jinja2模板测试器、控制语句IF/FOR、变量/块 赋值、作用域、块级作用域
1 测试器及其使用 在模板中的 {{}} 可以书写测试器,格式如下 {{ 变量 is 测试器名称 }} 1.1 在python中导入 Jinja2 的模板 from jinja2 import te ...
- windows、Linux 测试服务器、电脑的某些个端口是否打开
测试远程端口是否开放包括两种方法: 一. 命令行的形式 二.代码 先参考我的博客 windows.Linux 开放端口 一.命令行的形式 两个命令:telnet.nc(netcat) 两种网络层协议: ...
- map-reduce的八个流程
下面讲解这八个流程 Inputformat-->map-->(combine)-->partition-->copy&merge-->sort-->red ...
- vue前端+java后端 vue + vuex + koa2开发环境搭建及示例开发
vue + vuex + koa2开发环境搭建及示例开发 https://segmentfault.com/a/1190000012918518 vue前端+java后端 https://blog.c ...
- Spring入门第二十四课
Spring对JDBC的支持 直接看代码: db.properties jdbc.user=root jdbc.password=logan123 jdbc.driverClass=com.mysql ...
- 滴水穿石 C#中多线程 委托的使用
什么是多线程?我们在建立以个C#项目时,往往会在Form1上添加控件,然后写代码,初 学者都是在重复这个过程,其实这个过程是单线程的,可以理解为只有“main”主线程,有 的时候往往需要同时测量多个东 ...