上节内容回顾:

1. 前情回顾

        1. DOM对象和BOM对象
1. BOM 对象 --> window
location
location.href
location.href="https://www.sogo.com"
location.reload
history
navigator
2. DOM
1. document结构
1. 节点
1. 文档节点
2. 元素节点
3. 属性节点
4. 文本节点
2. 查找标签
1. 基本查找
1. ID查找 --> docuemnt.getElementById
2. 标签名查找 --> document.getElementsByTagName
3. class名查找 --> document.getElementsByClassName
// 4. 属性查找 --> document.getElementsByName
2. 层级查找
1. 上一级父标签 --> eleObj.parentElement
2. 儿子标签 --> eleObj.children
3. 第一个儿子 --> eleObj.firstElementChild
4. 最后一个儿子 --> eleObj.lastElementChild
5. 上一个兄弟标签 --> eleObj.previousElementSibling
5. 下一个兄弟标签 --> eleObj.nextElementSibling 3. 创建标签
1. doucument.creatElement("div") --> 要创建什么标签括号里面就写什么
2. 设置标签内容
1. eleObj.innerHTML = "<p>P标签</p>"
2. eleObj.innerText = "标签中间的文本" 3. 标签属性
1. input标签相关
1. inputEle.value --> 获取input框的输入值
2. inputEle.value = "请输入xxx" --> 设置input框的值
2. checkbox标签相关
1. checkboxEle.checked --> 返回true或false
2. checkboxEle.checked = true --> 选中该checkbox
3. select标签相关
1. selectObj.options --> 获取所有的option选项 (数组)
2. selecObj.selectedIndex --> 获取选中的option的索引值
3. selecObj.options.length=0 --> 快速清空option 2. JS 事件
常用事件
onclick
ondbclick
onload
blur
fouces
onchange (select联动示例)
绑定事件方法
1. 在标签上通过特定的事件属性绑定事件
比如: <div onclick="f()">点我点我点我</div>
2. 通过JS绑定事件
eleObj.onclick = function(){ ... }
3. 事件委托(利用事件冒泡)
找到父标签,给子标签绑定事件
<ul>li*100</ul> ulEle.onclick=function(){
event.target --> 点击的那个标签对象
alert(event.target.innerText)
} 补充知识点
1. 定时器示例
2. addEventListener

补充的定时器:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>定时器示例</title>
</head>
<body> <input type="text" id="i1"> <input type="button" value="开始" onclick="start();">
<input type="button" value="结束" onclick="end();"> <script>
var t; // undefined
function f() {
var dateObj = new Date();
// 获取i1标签
var i1Ele = document.getElementById("i1");
i1Ele.value=dateObj.toLocaleString();
}
// 每隔一秒就执行一次f()
function start() {
f();
// 只创建一个定时器,有定时器的话我就不创建了
if (t === undefined) {
t = setInterval(f, 1000);
}
} // 停止计时
function end() {
clearInterval(t);
// t现在是什么?
console.log("---> ", t)
t = undefined;
} </script>
</body>
</html>
<!--<!DOCTYPE html>-->
<!--<html lang="zh-CN">-->
<!--<head>-->
<!--<meta charset="UTF-8">-->
<!--<meta http-equiv="x-ua-compatible" content="IE=edge">-->
<!--<title>定时器练习</title>-->
<!--</head>-->
<!--<body>--> <!--<input type="text" id="i1">--> <!--<input type="button" value="start" onclick="beginning();">-->
<!--<input type="button" value="end" onclick="stop();">--> <!--<script>-->
<!--var t; //提前声明一个变量,为后续做铺垫-->
<!--function f(){-->
<!--var dateObj=new Date();-->
<!--//获取i1标签-->
<!--var i1Ele=document.getElementById("i1");-->
<!--i1Ele.value=dateObj.toLocaleString(); //把dateObj这个当前-->
<!--// 时间的赋值变量转换成字符串,toLacaleString它本身就是-->
<!--// 把当前时间转换成字符串的意思-->
<!--}-->
<!--//每间隔一秒就执行一次f()-->
<!--function beginning(){-->
<!--f();-->
<!--//只创建一个定时器,有就不创建,没有则创建t就是计时器-->
<!--if (t===undefined){-->
<!--t=setInterval(f,500);-->
<!--按照指定周期来调用函数,这里在括号里面写函数名,以及自定义时间,-->
<!--}-->
<!--}-->
<!--//停止计时-->
<!--function stop(){-->
<!--clearInterval是函数被调用,这里是终止定时器-->
<!--clearInterval(t);-->
<!--//t现在是什么?-->
<!--console.log("-&ndash;&gt;",t)-->
<!--t=undefined;-->
<!--}--> <!--</script>-->
<!--</body>-->
<!--</html>-->

绑定多个事件:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>绑定多个事件</title>
</head>
<body> <input type="button" value="点我" id="i1"> <script>
function f1() {
console.log(1);
} function f2() {
console.log(2);
} var i1Ele = document.getElementById("i1");
// i1Ele.onclick=function () {
// // 点击之后要执行的函数
// f1();
// };
//
// i1Ele.onclick=function () {
// f2();
// }; // addEventListener, 绑定多个事件,不覆盖
i1Ele.addEventListener("click", f1);
i1Ele.addEventListener("click", f2); </script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<title>绑定多个事件</title>
</head>
<body>
<!--这里是设定一个按钮-->
<input type="button" value="kick me" id="i1"> <script>
<!--定义两个函数-->
function f1(){
console.log(1);
} function f2(){
console.log(2);
}
//找到上面设定的那个按钮赋值给一个变量
var i1Ele=document.getElementById("i1");
// i1Ele.onclick=function(){
// f1(); //这样写后加载的会覆盖前面先加载的,
// };
//
// i1Ele.onclick=function(){
// f2();
// }; //addEventListener, 绑定多个事件,不覆盖
// 这里是把上面找到的变量,跟两个事件绑定到一起,这里就实现了同时绑定两个事件
// 关键字是addEventListener它就是绑定多个事件用的
i1Ele.addEventListener("click",f1);
i1Ele.addEventListener("click",f2); </script>
</body>
</html>

今日内容开始:

jQuery是什么?

jQuery 是一个 JavaScript 库。

jQuery 极大地简化了 JavaScript 编程。

特点:write less,do more

它本身是一个别人写好的类库---前端专用名词,类似于我们之前学的模块,都是别人封装好的底层 的东西,我们直接拿过来用就可以了.这个概念也类似于我们的函数,也是封装好的功能,直接拿到页面上引用即可,方便快捷

jQuery怎么用,

引用jQuery文件,有两种方式:      ===========>我们的jQuery文件必须要引用否则会报错,无法使用,不论是在html文件中还是在console里面都是一样的效果.

一种是放到当前文件夹里面,以本地文件的方式引用,

<script src="jquery-3.2.1.min.js"></script>
<script>按照jQuery的规则写代码</script>

另一种是cnd凡是引用,即在线引用,就是我们不需要下载到本地即可引用,

<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>按照jQuery的规则写代码</script>

既然这里涉及到了在线引用的话就会牵扯出来版本问题,关于版本:

我们一般使用  3.x

jQuery.js     这个是完整版,

jQuery.min.js  这个是压缩的完整版

jQuery对象:

通过jQuery包装DOM对象后产生的对象.jQuery对象是jQuery独有的,如果一个对象是jQuery对象,那么它就可以使用jQuery里面的方法,例如:$("#i1").html().  ===>这里的意思是获取id值为i1的元素的html代码,其中html()是jQuery的里面的方法.

下面是基础语法:

下面开始具体的使用方法:

选择器:

1,查找标签:固定的原则是   $("写入条件")     注:$后面是没有空格的

1,基本查找:

id 查找========> $("#id值")

class名查找==================> $(".class名")

标签名查找=================> $("标签名")

查找所有元素==========>$("*")  ---一般不常用

组合查找================>$("#id,className,tagName") 这里在查询条件里面添加了三个条件.这三个条件是彼此独立的,互不干涉,互不影响,只要在查询的时候满足其中的一个条件就可以拿到返回结果,他们之间是分开的,彼此互不干扰的.

层级选择器:

这里的x和y可以是任何的选择器

所有后代查找(子子孙孙):$("x y")

所有儿子查找:$("x > y")

所有紧挨在x后面的y标签:$("x ~ y")

基本筛选器:

$("#d p")====>所有的id值为d的标签的所有的子孙标签为p标签的标签

:first  $("#d p:first")===>在所有的排标签的基础上找到第一个满足条件的p标签

:last  $("#d p:last")===>在所有满足条件的p标签中找到最后一个

:ep(index)  前面两个是找第一个和最后一个,这里是找指定位置的那一个,自定义索引值,注意是索引值,我们的索引都是从0开始的,$("#d p:eq(3)") ===>找到满足条件的p标签里面的索引值为3也就是第4个标签

:gt(index) 索引值大于自定义索引值的标签 =====>$("#d p:gt(3)")所有满足条件的p标签里面索引值大于3的p标签

:lt(index) 索引值小于自定义索引值的标签=========>$("#d p:lt(3)")所有满足条件的p标签里面索引值小于3的p标签

:not(选择器) 所选择的标签里面不含有自定义选择器的标签===>$("#d p:not(.c1)") 所有满足条件的p标签里面不含有c1类属性的p标签    ======>$("#my-checkbox input:not(:checked)")还有一类写法,这样写的区别是not括号里面的内容,checked前有一个冒号,如果没有这个冒号就得不到想要的结果,这句话的意思是我们要找到id值为my-checkbox的下面的input标签,然后再找到的input标签里面找没有被选中的input标签,选中是checked,这就需要把冒号加在checked前面

:even 所有偶数的标签 ==>$("#d p:event")所有满足条件的p标签里面索引为偶数的p标签

:odd 所有基数的标签====>$("#d p:odd")所有满足条件的p标签里面索引为基数的p标签

2,修改标签样式:

原生js:

获取样式类:document.getElementById("d1")

添加样式类:classList.add(.cls)  ======>

移除样式类:classList.remove(.cls)=======>

jQuery修改标签样式:

获取样式类:$("#d1")[0]  =====>获取id值为d1标签的样式类

添加样式类:addClass();========>$("#d1").addClass("c2")  ====>给id值作为d1的标签添加类属性值c2

移除样式类:removeClass();=======>$("#d1").removeClass("c3")==>给id值作为d1的标签删除类属性值为c3的属性.

切换css类名,有就移除,没有就添加:toggleClass();========>$("#d1").toggleClass("c4")==>给id值为d1的标签做判断,如果有c4这个类属性那么就从重删除它,否则就把它添加上.

jquery中的三种等号分别的意思:

“=”:赋值运算,如下

var a = 3;
var b = "3"

var a1=null
var a2=undefined

var a3=0
var a4=false

“==”:等于,如下(类型不同,也可能相等)
a==b
true(这里之所以返回true是因为a是数字,b是字符串,在判断是否相等时,内部自动做了字符串和数字之间的转换,把字符串转换成了数字之后再去比较的,所以就是相等的,就返回了true)

a1==a2
true(这里的null和undefined类型不同,但是用“==”就是相等的,他们在内部自动进行了类型转换,返回的就是true)

a3==a4(这里的0和false类型不同,但是用“==”就是相等的,在内部把a3的赋值结果0转换成了false跟a4去做对比,或者是把a4的赋值结果false转换成了0跟a3去做对比,就返回了true)
true

“===”强等于,如下(类型必须相同,同时值也必须相同才相等)

a===b
false(很明显,数字跟字符串类型不同,返回false)

a1===a2
false(null和undefined类型也不同,返回false)

a3===a4
false(数字和bool值类型不同也无法相等,返回false)

后期更新

3,修改标签

4,创建标签/添加标签/删除标签

5,事件

6,动画

7,插件

8,Ajax

day 54 jQuery, part-1的更多相关文章

  1. day 54 jQuery 的初步基础

    jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Ajax交互, ...

  2. jQuery Ready 与 Window onload 的区别(转)

    “我们都知道,很多时候,在页面加载完后都需要做一些相应的初始化动作.例如,运行某些js特效,设置表单等等.怎么知道页面加载完了呢?一 般情况下都是设置body标签的onload监听window的loa ...

  3. jQuery 第五章 实例方法 详解内置队列queue() dequeue() 方法

    .queue() .dequeue() .clearQueue() ------------------------------------------------------------------ ...

  4. jQuery 第五章 实例方法 事件

    .on() .one() .off() .trigger() .click / keydown / mouseenter ...    .hover() ----------------------- ...

  5. JavaScript基础知识(学习笔记)

    1.    在JavaScript中所有事物都是对象:字符串.数字.数组.日期等等2.    在JavaScript中,对象是拥有属性和方法的数据3.    属性是与对象相关的值,方法是能够在对象上执 ...

  6. js的点滴

    一些好的博客 http://www.cnblogs.com/coding4/p/7809063.html canvas http://www.cnblogs.com/coding4/p/5593954 ...

  7. jqPaginator-master | kkpager-master 这两个分页插件的使用方法

    首先:百度"分页插件" 就会 找到这条链接: url=X8P3UpOM-6ceSfjdngX0oh9cNmVwSDy94CxKqWIazhyZ7If4S8wgpPqyEGUhk2t ...

  8. 2016/08/18 select

    1.//得到select项的个数 2.jQuery.fn.size = function(){ 3. return jQuery(this).get(0).options.length; 4.} 5. ...

  9. python自动华 (十七)

    Python自动化 [第十七篇]:jQuery介绍 jQuery jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多),对jav ...

随机推荐

  1. iOS Core Data 数据库的加密(待研究)

    https://github.com/project-imas/encrypted-core-data 使用起来很方便,底层还是使用了SQLCipher,有时间要研究一下! 数据库的密码不能用固定字符 ...

  2. 大数据mapreduce俩表join之python实现

    二次排序 在Hadoop中,默认情况下是按照key进行排序,如果要按照value进行排序怎么办?即:对于同一个key,reduce函数接收到的value list是按照value排序的.这种应用需求在 ...

  3. ORACL内部异常:

    ORACL内部异常: ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 OR ...

  4. 洛谷P2014 选课

    首先分析题目,这是一道树形dp的题目,是树形背包类的问题,以为每门课的先修课只有一门,所以这一定可以 构成一个森林结构,于是我们可以设计一个虚拟的根节点作为森林的根. 状态转移方程如下 dp[v][k ...

  5. 判断ie浏览器7、8、9三个版本

    判断ie浏览器7.8.9三个版本   上午的时候,本来是想做一个position:fixed在各个浏览器下兼容的方案的,但是发现ie7/8下面的position:fixed只支持一个屏幕,如果内容高度 ...

  6. LeetCode(83): 删除排序链表中的重复元素

    Easy! 题目描述: 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次. 示例 1: 输入: 1->1->2 输出: 1->2 示例 2: 输入: 1->1-&g ...

  7. hdu4003

    /*依赖背包的通常做法就是对于每个结点,先处理处其所有子节点的dp,然后对于当前结点进行分组背包dp即可 还是依赖背包问题,dp[i][j]表示结点i的子树用了j个机器人的搜索代价 边界条件,如果某个 ...

  8. MAKEWORD 宏(macro)

    先看看Microsoft给出的关于MAKEWORD的参考: 从Microsoft给出的参考可以得知,宏MAKEWORD的作用是用于创建一个由bHigh和bLow组成的WORD类型的值. 其中bLow是 ...

  9. 实现用VB.Net/(C#)开发K/3 BOS 插件的真正可行方法

    转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用的爽呀,这篇文章写与2011年,看来我以前没有认真去找这个方法呀. https://blog.csdn.net/chzjxgd/arti ...

  10. MVC AOP解决JsonResult返回json时间格式

    新建JsonNetResult类:JsonResult public class JsonNetResult: JsonResult { public JsonNetResult() { Settin ...