6月4日 python学习总结 初次接触jQuery
1. jQuery是什么?是一个轻量级的,兼容多浏览器的JS库(write less, do more)
1. 是一个工具,简单方便的实现一些DOM操作
2. 不用jQuery完全可以,但是不明智。
3. jQuery能做的事儿
1. 查找标签
2. 修改样式
3. 事件
4. AJAX (Django中讲)
5. 插件机制
4. jQuery是一个类库,类似于Python中的模块
A、使用时将相关文件(.js)拖进html文件中 <script src="jquery-3.3.1.min.js"></script>
B、想要使用jQuery,一定要先导入再使用!!!
C、jQuery == $ (使jQuery更简洁)

5. 初识jQuery(更简洁)
# 用DOM实现对样式进行更改

# 导入jQuery,用jQuery实现对样式进行更改

2. jQuery版本
官网:https://jquery.com
- 压缩版和未压缩版的区别 (两者实现的功能是一致的,压缩版的size更小;有上线需求的时候用压缩版,在开发过程中(可能需要查看源码)时用未压缩版)

2. 1.x和3.x都可以使用 (1.x兼容ie678,目前主要维护的是3.x)
3. jQuery的内容
用jQuery方法找标签后得到的是jQuery对象,jQuery对象[index],转成DOM对象
用DOM方法找标签后得到的是DOM对象,$(DOM对象),转成jQuery对象
约定:在声明一个jQuery对象变量时在变量名前加$


Ps(补充):
A、 p标签不能套div标签(硬套的话,前面和后面的p自动加闭合)

B、 label与input连用的两种方式(如果单写一个input飘黄;加上label后,在鼠标在页面上点击label相应的input-text有反应)
<!--方式一-->
<label>username
<input type="text">
</label>
<!--方式二-->
<label for="i1">password</label>
<input type="password" id="i1">
C、li{$$$}*5 + Tab
<li>001</li>
<li>002</li>
<li>003</li>
<li>004</li>
<li>005</li>
基本的语法:(找标签).(要做的事儿)
$(selector).action()
- 找标签(大体上同CSS)
A、 选择器
id选择器:$("#id")
标签选择器:$("tagName")
class选择器:$(".className")

配合使用(交集选择器):$("div.c1") // 找到有c1 class类的div标签
所有元素选择器(通配符选择器):$("*")
组合选择器(并集选择器):$("#id, .className, tagName")
层级选择器(x和y可以为任意选择器):
$("x y"); // x的所有后代y(子子孙孙)
$("x > y"); // x的所有儿子y(儿子)
$("x + y"); // 找到所有紧挨在x后面的y
$("x ~ y"); // x之后所有的兄弟y

基本筛选器(和之后的筛选器达到的效果一致,更倾向用后者,使结构 更简洁):
:first // 第一个 :last // 最后一个 :eq(index) // 索引等于index的那个元素 :even // 匹配所有索引值为偶数的元素,从 0 开始计数 :odd // 匹配所有索引值为奇数的元素,从 0 开始计数 :gt(index) // 匹配所有大于给定索引值的元素 :lt(index) // 匹配所有小于给定索引值的元素 :not(元素选择器) // 移除所有满足not条件的标签 :has(元素选择器) // 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
基本筛选器例子:
$("div:has(h1)")// 找到所有后代中有h1标签的div标签
$("div:has(.c1)")// 找到所有后代中有c1样式类的div标签
$("li:not(.c1)")// 找到所有不包含c1样式类的li标签
$("li:not(:has(a))")// 找到所有后代中不含a标签的li标签
$(“#my-checkbox input: not(:checked)”)


属性选择器
[attribute] [attribute=value] // 属性等于 [attribute!=value] // 属性不等于
属性选择器例子:
<input type="text">
<input type="password">
<input type="checkbox">
$("input[type='checkbox']"); // 取到checkbox类型的input标签
$("input[type!='text']"); // 取到类型不是text的input标签

表单常用筛选
:text :password :file :radio :checkbox :submit :reset :button
表达常用筛选例子:
$(":checkbox") // 找到所有的checkbox
表单对象属性:
:enabled :disabled :checked :selected

表单对象例子:
<form>
<input name="email" disabled="disabled" />
<input name="id" />
</form>
$("input:enabled") // 找到可用的input标签
<select id="s1">
<option value="beijing">北京市</option>
<option value="shanghai">上海市</option>
<option selected value="guangzhou">广州市</option>
<option value="shenzhen">深圳市</option>
</select>
$(":selected") // 找到所有被选中的option
B、 筛选器
下一个元素:
$("#id").next()
$("#id").nextAll()
$("#id").nextUntil("#i2")

上一个元素:
$("#id").prev()
$("#id").prevAll()
$("#id").prevUntil("#i2")

父亲元素:
$("#id").parent()
$("#id").parents() // 查找当前元素的所有的父辈元素
$("#id").parentsUntil()//查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。

儿子和兄弟元素:
$("#id").children();// 儿子们
$("#id").siblings();// 兄弟们

查找元素:
$("#id").find()// 搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法。
补充:
.first()// 获取匹配的第一个元素 .last()// 获取匹配的最后一个元素 .not()// 从匹配元素的集合中删除与指定表达式匹配的元素 .has()// 保留包含特定后代的元素,去掉那些不含有指定后代的元素。

jQuery版的模态框
- jQuery支持链式调用
- 链式调用的原理:调用一个实例化方法返回的是当前的实例对象
3. 操作标签的样式
1. 直接改
2. 通过class名去改
addClass();// 添加指定的CSS类名。 removeClass();// 移除指定的CSS类名。 hasClass();// 判断样式存不存在 toggleClass();// 切换CSS类名,如果有就移除,如果没有就添加。



6月4日 python学习总结 初次接触jQuery的更多相关文章
- 4月2日 python学习总结
昨天内容回顾: 1.迭代器 可迭代对象: 只要内置有__iter__方法的都是可迭代的对象 既有__iter__,又有__next__方法 调用__iter__方法==>得到内置的迭代器对象 调 ...
- 4月8日 python学习总结 模块与包
一.包 #官网解释 Packages are a way of structuring Python's module namespace by using "dotted module n ...
- 4月12日 python学习总结 继承和派生
一.继承 什么是继承: 继承是一种新建类的方式,在python中支持一个子类继承多个父类 新建类称为子类或派生类 父类可以称之为基类或者超类 子类会遗传父类的属性 2. 为什么继承 ...
- 4月11日 python学习总结 对象与类
1.类的定义 #类的定义 class 类名: 属性='xxx' def __init__(self): self.name='enon' self.age=18 def other_func: pas ...
- 5月31日 python学习总结 JavaScript概述
JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...
- 6月15日 python学习总结 Django模板语言相关内容
Django模板语言相关内容 Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {{ }}和 {% %} 变量相关的用{{}},逻辑相关的用{%%}. 变量 {{ 变量名 }} ...
- 6月11日 python学习总结 框架理论
Web框架本质及第一个Django实例 Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web ...
- 4月3日 python学习总结
1. 列表生成器 l=['egg%s' %i for i in range(100) if i>20 ] print(l) 若将 [ ] 换成 ( ),则为生成器表达式,结果是一个迭代器 #求文 ...
- 5月14日 python学习总结 视图、触发器、事务、存储过程、函数、流程控制、索引
一.视图 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次用的直接使用即可 2.为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何用视图 create view t ...
随机推荐
- Spark入门案例 - 统计单词个数 / wordcount
Scala版 import org.apache.spark.{SparkConf, SparkContext} object WordCountScala { def main(args: Arra ...
- 通过安装HomeBrew来安装Python3
首先说什么是HomeBrew? 下面引用简书上一个博客的解释:(博客链接:http://www.jianshu.com/p/d229ac7fe77d) 为什么要使用Homebrew Mac OS X是 ...
- opencv笔记---contours
一 Contour Finding Contours使用 STL-style vector<> 表示,如 vector<cv::Point>, vector<cv::Po ...
- Solution -「ARC 082D」Sandglass
\(\mathcal{Description}\) Link. 一个沙漏内共 \(Xg\) 沙,令初始时上半部分为 A,下半部分为 B.沙漏在 \(r_1,r_2,\cdots,r_n\) 时 ...
- EMNLP 2017 | Sparse Communication for Distributed Gradient Descent
通过将分布式随机梯度下降(SGD)中的稠密更新替换成稀疏更新可以显著提高训练速度.当大多数更新接近于0时,梯度更新会出现正偏差,因此我们将99%最小更新(绝对值)映射为零,然后使用该稀疏矩阵替换原来的 ...
- MHA + Maxscale 数据库的高可用和读写分离
MySQL 常见发行版本 MySQL 标准化.自动化部署 深入浅出MySQL备份与恢复 深入理解MySQL主从复制 MySQL构架设计与容量规划 MHA Maxscale MySQL 常见发行版本 M ...
- python-xlutils模块-修改excel
前言 xlrd库用于读取excel文件中的数据,xlwt库用于将数据写入excel文件,修改用xlutils模块: xlutils库也仅仅是通过复制一个副本进行操作后保存一个新文件,像是xlrd库和x ...
- 企业数据仪表盘设计思路,如何设计自己的BI产品
现在,很多企业的高层领导喜欢建数据仪表盘或者管理驾驶舱,甚至用巨大无比的显示屏阵列来展示各种关键业务指标KPI,那成功设计一个数据仪表盘需要如何做?又需要注意什么问题呢? 数据仪表盘是数据可视化的一 ...
- 还在用excel做分析?你已经out了!
Excel 是个很有趣的工具,不管你是不是数据分析领域的打工人,都一定听过它的名字,甚至在全球拥有大量虔诚的粉丝.Excel这个名字其实源自英语中的" Excellence "一词 ...
- C# Debug和Trace:输出调试信息
在 C# 语言中允许在程序运行时输出程序的调试信息,类似于使用 Console.WriteLine 的方式向控制台输出信息.所谓调试信息是程序员在程序运行时需要获取的程序运行的过程,以便程序员更好地解 ...