| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> py-10-JQuery -> 正文阅读 |
|
[JavaScript知识库]py-10-JQuery |
目录:day04-JavaScript概述day05-DHTMLday06-jQueryday04-JavaScript概述1.1?JS概述1.1.1????什么是JS
专门为网页交互而产生的一门语言
JS是一门基于对象和事件驱动的脚本语言,主要应用在客户端(主要指浏览器)。
(1)基于对象:不是面向对象,JS不具备面向对象语言的特征, JS没有类的概念,也没有编译的过程,是属于边解释边执行。又由于JS中是有对象的,而且还可以利用一些机制来模拟面向对象语言的特征。
(2)事件驱动:JS中的代码执行大部分都是通过事件触发机制来驱动函数执行,从而实现某些功能。
(3)脚本语言:在网络前端开发环境下,嵌入在浏览器中执行的一段小程序。
1.1.2????JS的特点
解释执行,不需要编译(一边解释,一边执行)
基于对象
弱类型
1.1.3????JS优势
交互性
安全性
跨平台性
1.2?在HTML中引入JS1.2.1????通过script标签引入JS
在head标签内部,可以添加一个script标签,在该标签内部可以书写JS代码。
提示:script标签中的type属性可以写,也可以省略不写,默认就是JS。
1.2.2????通过script标签引入外部的JS文件
同样的,在head标签内部,可以通过script标签引入外部的JS文件。
在HTML中:
在JS文件中:
2JavaScript语法2.1?注释
1、?单行注释:
//?注释内容
2、?多行注释:
/*?注释内容?*/
2.2?数据类型2.2.1????基本数据类型
1
、数值类型(number
)
在JS中,所有的数值在底层都是浮点型。但是在处理或者是显示的时候,会自动的和整型进行转换。
常见的常量:
2
、字符串类型
在JS中,字符串类型是一个基本数据类型。
在JS中,声明字符串可以使用单引号或双引号引起来。
3、布尔类型
布尔类型的值有两个,分别为true和false;
4
、undefined
undefined类型的值只有一个,值就是undefined。表示定义了变量但是没有为变量初始化值。
比如:var x; alert(x);?此时弹框中弹出的x的值为undefined。
5
、null
null类型的值也只有一个,值就是null。表示空值。
可以作为函数的返回值,表示函数返回的是一个空的对象。
2.2.2????复杂数据类型
?对象(普通对象、数组、函数)
2.3?变量和运算符2.3.1????变量
在JS中,是通过var关键字来声明变量。
在JS中,变量是不区分类型的,所有JS的变量可以执行任意的数据类型。比如:
2.3.2????运算符
JS中的运算符和Java中的大致相同
1、两个等号(==)和三个(===)等号的区别
2、typeof:?用来返回变量或表达式的数据类型
3、delete :?用来删除数组中的元素或者对象上的属性或方法
2.4?语句
JS中的语句和Java中的也大致相同
?2.4.1??if...else语句
在JS中,if语句中的判断条件可以不是布尔类型(因为在JS中会自动的进行类型的转换)
示例:
2.4.2????
switch语句
示例:
2.4.3????
循环语句
1、while循环
示例:
2、for循环
示例:
2.5?数组2.5.1????通过Array构造函数声明数组
1.声明一个空的数组
2.声明一个具有指定长度的数组
3.声明一个具有指定初始值的数组
2.5.2????通过数组直接量声明数组
1.声明一个空数组
2.声明一个具有指定初始值的数组
2.5.3????数组常用的属性或方法
1.length属性:?用来返回数组的长度
2.push方法:往数组的最后面追加一个元素
3.pop方法:?删除数组中的最后一个元素并返回
4.unshift方法:?往数组的最前面插入一个元素
5.shift方法:?删除数组中的第一个元素并返回
2.5.4????数组的开发细节
? ? ?1、?
数组中的元素类型可以是任意的
? ?? 2、?
如果访问数组中一个没有元素的位置,该位置处的值为undefined
? ? ?3、?
数组的长度是可以被任意改变
2.6?函数
函数本质上是一个具有功能的代码块,可以反复调用!
2.6.1????通过function关键字声明函数
1、声明格式
2、调用函数
3、示例:
2.6.2????通过函数直接量声明函数 1、声明格式:
2、调用函数
3、示例:
注意:JS中的函数在调用时,如果实际传入的参数个数和声明时的参数个数不相等,也可以调用,但是可能会引发一些问题。
2.7?对象2.7.1????JS内置对象
1
、RegExp
(正则对象)
(1)?正则对象声明方式一:
(2)?正则对象声明方式二:
(3)?正则对象的方法
test方法:检测字符串是否符合该正则表达式
2、String(字符串对象)
1.length属性?--?返回字符串的长度
2.charAt方法?--?返回字符串中指定索引处的字符
3.indexOf方法?--?返回字符串中指定子字符串所在的位置
4.match方法?--?使用正则表达式对字符串执行查找,将所有匹配的结果作为一个数组返回
5.slice方法?--?对字符串进行截取,从start开始,?到end结束.
6.substr方法?--?对字符串进行截取,从start开始,截取指定长度的子字符串。
str1 = "Hello JS...";
console.log( str1.substr(6,2) );
3
、Date
(日期对象)
4、Math(数学)
对象
5
、Global
parseInt()?--?将给定的值转成整数
parseFloat() --?将给定的值转成浮点数
isNaN() --?判断一个值是否是非数字. true表示是非数字
eval() --?可以将一个字符串按照JS的语法解释执行
2.7.2????自定义对象
1.
自定义对象方式一:
声明p1对象并动态为对象添加属性及方法
调用p1对象上的属性及方法:
或者
声明p2对象
var p2 = new Person("陈子枢", 20);
调用p2上的属性及方法
day05-DHTML1.1 DHTML概述?1.1.1?什么是DHTML?
DHTML: Dynamic HTML(动态的HTML)
DHTML不是一门新的技术, 而是将我们之前学过的HTML、CSS、JavaScript整合在了一起,使用JS来操作页面中的元素(或者操作CSS属性),使得页面元素有一个动态的变化,从而和用户具有了交互的行为。
1.1.2?DHTML工作原理
在DHTML中,将所有的HTML元素都用一个一个的JS对象来进行表示
利用对象来表示元素,利用对象的包含关系来表示元素之间的层级关系
对象有了,可以在对象上设计属性和方法, 利用对象上的属性和方法可以间接的操作元素的属性和行为。
正是利用这种方式,才可以使用JS来操作HTML元素、CSS属性,形成了DHTML这样一门技术。
可以将DHTML分为两部分内容:
BOM:(Browser Object Model)浏览器对象模型
DOM:(Document Object Model)文档对象模型
1.2 BOM1.2.1?window对象
1、属性
(1)closed -- 返回引用窗口是否已经关闭
alert(window.closed);//true表示已经关闭
2、方法
(1)alert()方法 -- 消息对话框
window.alert("123");
(2)confirm()方法 -- 确认对话框
3、事件!!!
(1)window.onload事件 -- 当整个HTML文档加载完之后立即触发执行。
1.3?DOM1.3.1 获取HTML中的元素
1、getElementById()方法
document.getElementById() -- 通过元素的id属性值获取指定id的元素
2、value属性
value -- 获取或设置表单项中的value值
示例:
3、getElementsByName()
document.getElementsByName() -- 通过元素的
name属性值获取所有指定name值的元素,返回的是一个集合数组(可以当做数组来获取或遍历)
示例:
4、getElementsByTagName()
document.getElementsByTagName() -- 通过元素名称获取指定名称的所有元素,返回的是一个集合数组(可以当做数组来获取或遍历)
示例:
5、innerHTML、innerText
1.3.2???? 增删改HTML元素
1、createElement()、appendChild()、body
(1)document.createElement(tagName) -- 创建一个指定元素名称的元素
(2)obj.appendChild(oChild) -- 通过父元素添加子元素
(3)document.body -- 获取body元素
示例: ? ?
2、removeChild()、replaceChild()
(1)obj.removeChild(oChild) -- 通过父元素删除指定的子元素
(2)obj.replaceChild(oNew, oChild) -- 通过父元素使用新元素替换已有的子元素
示例1:
示例2:
3、cloneNode()、insertBefore()
示例:
1.3.3 综合练习1:仿QQ好友列表
1、version_1: 点击分组名称,可以展开当前分组
2、version_2: 点击分组名称,可以展开当前分组
3、version_3: 点击分组名称:
如果当前分组是关闭的, 点击之后应该先关闭其他分组,再展开当前分组
如果当前分组是展开的, 点击之后直接关闭即可!
或者
注意: JS在获取或设置CSS属性时,是获取元素上的CSS属性或着将CSS属性设置在元素上综合练习2:二级联动下拉框
1.3.4???? 综合练习2:二级联动下拉框
day06-jQuery1.1?jQuery概述1.1.1????什么是jQuery?
jQuery:(JavaScript Query)翻译过来就是JS查询
jQuery是一门轻量的、免费开源的JS函数库,能够极大简化JS代码。
1.1.2????jQuery优势
1、能够简化JS代码
2、能够像CSS那样来获取元素(通过jQuery选择器)
????比如:在css中,获取id为div1的元素:
????#div1{ background-color:red }
????.c1{ background-color:red }
????比如:在jQuery中,获取id为div1的元素
????$("#div1").css("background-color", "red");
????$(".c1").css("background-color", "red");
???
3、能够通过操作CSS属性来控制页面样式(效果)
????$("#div1").css("background-color", "red");
????$(".c1").css("background-color", "red");
4、能够兼容常用的浏览器
????比如在JS中,innerText、replaceNode()、removeNode()不兼容常用的浏览器
????在jQuery封装后,text()、replaceWith()、remove()都能够兼容常用的浏览器
???
1.1.3????jQuery的版本支持
1.x --?能够兼容常用浏览器及IE6+
2.x --?能够兼容常用浏览器及IE9+
3.x --?能够兼容常用浏览器及IE9+
jQuery的缺点:jQuery的高版本不兼容低版本。这是因为jQuery在升级时除了会做一些内部优化之外还会增删一些函数。所以在升级之后可能会造成之前的代码无法执行!
1.1.4????jQuery的引入
jQuery的库文件其实就是一个普通的JS文件。所以引入jQuery跟我们之前引入一个.js文件是一样
如果引入失败,可能会引发如下异常:
(1)找不到jQuery库文件
(2)$未定义
1.2?jQuery语法1.2.1????$符号介绍
$符号相当于jQuery,调用$()其实就相等于调用jQuery():
调用$(),该函数会返回一个jQuery对象(集合)。该对象中包含了若干HTML元素,可以通过jQuery提供的属性或方法对这些元素进行操作。
比如:找到id为div1下的所有span元素,并删除!
1.2.2????文档就绪事件函数
在jQuery中也提供了对应的文档就绪事件函数
在整个html文档加载完之后立即触发执行,格式:
等价于:
其完整写法为:
?1.2.3????JS对象和jQuery对象的互相转换?
通过$()函数获取的是一个jQuery对象,?可以通过该对象调用jQuery提供的属性或者是方法,?但是不能调用JS提供的属性或者是方法.
反之,?如果是获取一个JS对象,?也只能调用JS提供的属性或者是方法,?也不能调用jQuery提供的方法或属性,?否则会调用失败.
示例:
示例:
1.3?jQuery选择器1.3.1????基本选择器
1、元素名选择器
通过元素名称选中指定名称的元素
示例:
2、id选择器
通过元素的id属性值选中指定id的元素
示例:
3、class选择器
通过元素的class属性值,选中指定class值的所有元素
??示例:
4、多元素(分组)选择器
将多个选择器选中的元素综合在一起,统一来设置样式或者进行操作
示例:
1.3.2????层级选择器
1、$("div span") --?匹配div内所有的span元素
2、$("div>span") --?匹配div内所有的span子元素
3、$("div+span") --?匹配div后紧邻的span兄弟元素
4、$("div").next(“span”) --?匹配div后紧邻的span兄弟元素
5、$("div").nextAll(“span”) --?匹配div后所有的span兄弟元素
6、$("div").prev(“span”) --?匹配div前面紧邻的span兄弟元素
7、$("div").prevAll(“span”) --?匹配div前面所有的span兄弟元素
8、$("div").siblings(“span”) --?匹配div前后所有的span兄弟元素
1.3.3????基本过滤选择器
1、$("div:first") --?匹配所有div中的第一个div元素
2、$("div:last") --?匹配所有div中的最后一个div元素
3、$("div:eq(n)") --?匹配所有div中的索引值为n的div元素
4、$("div:not(.one)") --?匹配所有class值不为one的div元素
5、$("div:lt(n)") --?匹配所有div中索引值小于(less than)n的div元素
6、$("div:gt(n)") --?匹配所有div中索引值大于(greater than)n的div元素
7、$("div:even") --?匹配所有div中索引值为偶数的div元素
8、$("div:odd") --?匹配所有div中索引值为奇数的div元素
1.3.4????内容选择器
1、$("div:contains('hello')") --?匹配div内容中包含'hello'?的div元素
2、$("div:empty") --?匹配所有空的(既不包含文本内容也不包含子元素)div元素
3、$("div:has(span)") --?匹配具有span子元素的div元素
4、$("div:parent") --?匹配非空div元素
1.3.5????可见选择器
1、$("div:visible") --?匹配所有可见的div元素
2、$("div:hidden") --?匹配所有隐藏的div元素
3、$("div:hidden").show() --?将所有隐藏的div元素设置为显示(show底层也是通过display设置元素显示)
4、$("div:visible").hide() --?将所有显示的div元素设置为隐藏(hide底层也是通过display设置元素隐藏)
5、$("div").toggle() --?匹配所有div元素,切换div的显示状态(如果div显示则设置为隐藏,如果div为隐藏则设置为显示)
1.3.6????属性选择器
1、$("div[class]") --?匹配所有div中具class属性的元素
2、$("div[class='c1']") --?匹配所有div中具class属性并且值为c1的元素
3、$("div[class='c1']") --?匹配所有div中具class属性但值不为c1的元素
1.3.7????子元素选择器
1、$("div:first-child")?或?$("div:nth-child(1)") --?匹配div内第一个子元素
2、$("div span:first-child")?或?$("div span:nth-child(1)") --?匹配div内第一个span子元素
3、$("div:last-child") --?匹配div内最后一个子元素
4、$("div:nth-child(n)") --?匹配div内第n个子元素
1.3.8????表单选择器
1、$(":input") --?匹配所有的表单项元素(input按钮、input输入框、input密码框、单选框、复选框、下拉选框、textarea等)
2、$(":password") --?匹配所有的密码输入框
3、$(":radio") --?匹配所有的单选框
4、$(":checkbox") --?匹配所有的复选框
5、$(":checked") --?匹配所有默认被选中的单选框、复选框、option选项
6、$(":selected") --?匹配所有默认被选中的option选项
1.4?文档操作
1.4.1??
元素的增删改
1、$("<div></div>") --?创建一个div元素
2、$("<div>这是一个div元素</div>") --?创建一个包含内容的div元素
3、append()/appendTo()
4、remove()
5、replaceWith()
1.4.2????html元素内容及属性操作
1、
html()/text()
2、attr() --?
获取或设置元素的属性(值)
3、css() --?
获取或设置元素的
css
样式
1.5?事件1.5.1????事件
1.click() --?点击事件
如果使用JS实现,代码如下:
2.change() --?下拉选框选项切换事件
3.ready() --?
文档就绪事件
简写形式为:
等价于
4.blur()?--?输入框失去输入焦点时触发执行,?等价于onblur
5.focus()?--?输入框获得输入焦点时触发执行,?等价于onfocus
示例:
1.5.2????
效果
1.hide()?--?
设置元素为隐藏
2.show()
3.toggle()?--?切换元素的显示状态,如果元素显示则设置为隐藏,如果元素为隐藏则设置显示. 1.6?综合练习
1.6.1????仿QQ分组列表
? 1.6.2??二级联动下拉框
1.6.3????模拟员工信息管理系统
1、添加一个新员工
2、删除选中的员工
3、实现全选、全不选
4、修改员工信息
作者:DarrenQQ:603026148以上内容归Darren所有,如果有什么错误或者不足的地方请联系我,希望我们共同进步。 |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:58:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |