第一章 常用网页标签 第一节 双标签 1.1.1 <h1></h1>H标签 1.1.2<div></div>盒子标签 1.1.3 <p></p>段落标签 1.1.4 <a href=""></a>超连接标签 1 <a href ="www.baidu.com" > </a >
第二节 单标签 1.2.1 <br> 换行 1.2.2 <hr> 水平线 1.2.3<img src="" alt=""> 图片标签 1 <img src ="//www.baidu.com/img/PCfb_5bf082d29588c07f842ccde3f97243ea.png" alt ="baidu" >
第二章 关于资源路径 第一节 相对路径 ./ 去上一级目录找==(可以省略) ==../去上两级目录找第二节 绝对路径(90%找不到) 找不到的原因(不知道为什么不是100%找不到的kan) 第三章 列表标签 第一节 无序与有序列表 3.1<ul>+<li> 无序列表标签 1 2 3 4 5 6 7 8 <div > <ul > <li > 1</li > <li > 2</li > <li > 3</li > </ul > </div >
3.2<ol>+<li> 有序序列表标签 1 2 3 4 5 6 7 8 <div > <ol > <li > 1</li > <li > 2</li > <li > 3</li > </ol > </div >
第四章 表格标签 第一节 声明表格与行 4.1.1<table>和<tr> <table>:声明这是一个表格<tr>: row表示其中的一行第二节 确定单元格类型 4.2.1<th>和<td> <th>: 表示这一格的元素为 head(表头元素, 和<td>的区别就是只有加粗)<td>: 表示这一格的元素为 date(表内元素)1 2 3 4 5 6 7 8 9 10 11 12 13 <table > <tr > <th > 序号</th > <th > 姓名</th > <th > 性别</th > </tr > <tr > <td > 1</td > <td > Tom</td > <td > boy</td > </tr > </table >
第五章 表单 第一节 输入框与密码框 语法: ①文本输入框;<input type="text> ②密码框<input type="password> 类型: <input>为单标签 1 2 3 <p > 用户名称: <input type ="text" name ="name" > </p > <p > 用户密码: <input type ="password" name ="key" > </p >
第二节 单选 语法: <input type="radio" name="保持一致"> 注意⚠️:type为radio的单选框,只有name属性想同,才能实现单选效果 1 2 3 4 5 6 7 <p > 性别 <input type ="radio" name ="gender" value ="boy" > 男 <input type ="radio" name ="gender" value ="girl" > 女 </p >
第三节 多选 语法: <input type="checkbox" name="保持一致"> 注意⚠️: 同单选需要注意的一样,否则后端接受到的数据不一致 1 2 3 4 5 6 7 8 <p > 爱好 <input type ="checkbox" name ="hobby" value ="basketball" > 篮球 <input type ="checkbox" name ="hobby" value ="singing" > 唱歌 <input type ="checkbox" name ="hobby" value ="dancing" > 跳舞 </p >
第四节 文本输入区域 1 2 3 4 5 6 7 <p > 自我介绍 <textarea > </textarea > </p >
第五节 提交与重置 语法: ①提交:<input type="submit"> ②重置<input type="submit"> 1 2 3 <p > <input type ="submit" > </p > <p > <input type ="reset" > </p >
第六章 作业 实现如下效果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <meta name ="viewport" content ="width=device-width, initial-scale=1.0" > <title > 作业</title > </head > <body > <h1 > 图灵之家</h1 > <br > <br > <h3 > 我的汽车之家, 我的图灵网站</h3 > <hr > <p > 注册后, 你可以使用汽车之家相关服务</p > <br > <br > <form action ="#" > <p > 手机<input type ="text" name ="phone" > </p > <p > 密码<input type ="password" name ="password" > </p > <p > 性别 <input type ="radio" name ="sex" value ="boy" > 男 <input type ="radio" name ="sex" value ="girl" > 女 </p > <p > 请输入你喜欢的车型 <input type ="checkbox" value ="type" > 紧凑型 <input type ="checkbox" value ="type" > 中型 <input type ="checkbox" value ="type" > SUV <input type ="checkbox" value ="type" > 主打车 </p > <input type ="submit" value ="提交" > <input type ="reset" value ="重置" > </form > </body > </html >
第零章 CSS引入HTML页面的三种方式 第一节 行内式 1 2 <h1 style ="color: red" > 哈哈哈1!</h1 >
第二节 嵌入式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <meta name ="viewport" content ="width=device-width, initial-scale=1.0" > <title > Document</title > <style > .c1 { color : goldenrod; } </style > </head > <body > <h1 class ="c1" > 哈哈哈2!</h1 > </body >
第三节 外链式 语法: <link rel="stylesheet" type="text/css" href="你想引入CSS样式的文件路径">==是<link>标签 == 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <meta name ="viewport" content ="width=device-width, initial-scale=1.0" > <title > Document</title > <link rel ="stylesheet" type ="text/css" href ="./css/style_sheet1.css" > </head > <body > <h1 class ="c2" > 哈哈哈3!</h1 > </body > </html >
第一章 六种选择器 第一节 标签选择器 语法: 任何HTML标签{} 作用: 设置后, 该标签所有都会受到样式影响 第二节 类选择器 语法: .c1{} 调用处: <p class="c1"></p> 作用: 只对指定了该类的标签生效 第三节 层级选择器 语法: 层级调用, 可以是标签 标签{},可以是标签 .类{}可以是id可以自由组合 作用: 层级选择, 实现指定元素的样式改变 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <style> .con .pink { background-color : pink; } .con .gold { background-color : gold; } div span { background-color : green; } </style>
1 2 3 4 5 6 7 8 <body > <div class ="con" > <span > span标签-1</span > <a href ="#" class ="pink" > 谷歌</a > <a href ="#" class ="gold" > 百度</a > </div > <span > span标签-2</span > </body >
第四节 id选择器 语法: #id1{} 调用处: <p id="id1"></p> 作用: 只对指定了该id选择器的标签生效 第五节 组选择器 语法: 选择多个类/ 作用: 选中多个(标签, id, 类自由组合)成为一组, 同时设置样式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <style> .c1 ,.c2 ,.c3 ,.c4 { background-color : red; } div ,a { background-color : aqua; } h1 ,.c5 { background-color : skyblue; } </style>
1 2 3 4 5 6 7 8 9 10 11 <body > <div > <p class ="c1" > 1</p > <p class ="c2" > 2</p > <p class ="c3" > 3</p > <p class ="c4" > 4</p > </div > <a href ="#" > dfas</a > <h1 > ok</h1 > <h2 class = "c5" > nice!</h2 > </body >
第六节 伪类选择器 语法: 可以在标签, 类, id后面:伪类 常见伪类::nth:child(3)选中该标签下第3个儿子(索引从1开始):first-child选中该标签下的第一个儿子:last-child选中该标签下的最后一个儿子 第二章 常见CSS属性 第一节 布局常用样式属性 width 设置元素(标签)的宽度,如: width:100px; height 设置元素(标签)的高度,如: height:200px; background设置元素背景色或者背景图片,如: background:gold;设置元素的背景色, background: url(images/logo.png);设置元素的背景图片。 border 设置元素四周的边框,如:border:1px solid black; 设置元素四周边框是1像素宽的黑色实线 以上也可以拆分成四个边的写法,分别设置四个边的: border-top 设置顶边边框,如: border-top:10px solid red; border-left 设置左边边框,如:border-left:10px solid blue; border-right 设置右边边框,如: border-right:10px solid green; border-bottom 设置底边边框,如:border-bottom:10px solid pink; padding设置元素包含的内容和元素边框的距离,也叫内边距,如padding:20px;padding是同时设置4个边的,也可以像 border一样拆分成分别设置四个边:padding-top、padding-left、padding-right、padding-bottom。 margin设置元素和外界的距离,也叫外边距,如margin:20px;margin是同时设置4个边的,也可以像border一样拆分成分别设置四个边:margin-top、margin-left、margin-right、margin-bottom。 float 设置元素浮动,浮动可以让块元素排列在一行,浮动分为左浮动: float:left;右浮动: float:right;第二节 文本常用样式属性 color 设置文字的颜色,如: color:red;font-size 设置文字的大小,如: font-size:12px;font-family 设置文字的字体,如: font-family:’微软雅黑’;为了避免中文字不兼容,一般写成: font family:’Microsoft Yahei’; font-weight设置文字是否加粗,如: font-weight:bold;设置加粗font-weight:normal设置不加粗 line-height 设置文字的行高,如: line-height:24px;表示文字高度加上文字上下的间距是24px,也就是每一行占有的高度是24px text-decoration 设置文字的下划线,如:text-decoration:none; 将文字下划线去掉 text-align设置文字水平对齐方式,如text-align:center设置文字水平居中 text-indent 设置文字首行缩进,如:text-indent:24px;设置文字首行缩进24px 第三节 CSS样式溢出 定义: 当子元素的大小(width, height)>父元素时 处理方法: 在父元素中设置overflow: auto等 第三章 行内元素与块元素 关于 行内元素 和块元素的转化display:inline;转换为行内元素; display:block;转换为块状元素; display:inline-block;转换为行内块状元素。 JavaScript基本准则 JavaScript 程序员倾向于使用以小写字母开头的驼峰大小写; 和java一样 行末尾规范需要加分号, 但不加会报错(因为js默认每行末尾会自己添加, 如果没加的话, 除特殊情况外) 第零章 JS引入HTML页面的三种方式 第一节 行内式 1 2 3 4 5 6 <input type ="button" value ="点击1" onclick ="alert('行内式')" >
第二节 内嵌式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <meta name ="viewport" content ="width=device-width, initial-scale=1.0" > <title > Document</title > <script > function my_click1 ( ) { alert ("内嵌式" ); } </script > </head > <body > <input type ="button" value ="点击2" onclick ="my_click1()" > </body > </html >
第三节 外链式 语法: <srcipt src="你的js文件相对路径"> ==是<srcipt>标签 == 1 2 3 4 function my_cilck2 ( ) { alert ("外链式" ) }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <meta name ="viewport" content ="width=device-width, initial-scale=1.0" > <title > Document</title > <script src ="./js/js_sheet.js" > </script > </head > <body > <input type ="button" value ="点击3" onclick ="my_cilck2()" > </body > </html >
第一章 数据类型 number string boolean undifined object 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 var a = 10 ; const b = 112 ; var int_number = 1 ;var float_number = 3.14 ;console .log (int_number + " " + typeof (int_number));console .log (float_number + " " + typeof (float_number));var str1 = "MTS" ;console .log (str1 + " " + typeof (str1));var bool1 = false ;console .log (bool1 + " " + typeof (bool1));var un;console .log (un + " " + typeof (un));var str1 = undefined ; console .log (str1 + " " + typeof (str1));var names = ["Tom" , "Jack" , "Peter" ]console .log (names + " " + typeof (names));var dict = { name : "Tom" , age : 12 , sex : "boy" , fun1 : function sayHello ( ) { alert ("hello!" ); } } console .log (dict + " " + typeof (dict));var myMap = new Map ();myMap.set ("key" , 1 ); console .log (myMap + " " + typeof (myMap));var mySet = new Set ();mySet.add (1 ); mySet.add (2 ); mySet.add (1 ); console .log (mySet + " " + typeof (mySet));var bug = null ;console .log (bug + " " + typeof (bug));console .log (null ==undefined ); console .log (null ===undefined );
第二章 函数 语法: function(关键字) 函数名称 (参数列表) {} 关于调用时:无论调用是否有参数列表的方法; 都可以传参or不传参 所有方法都有argument内置参数, ①所有传来的参数都会赋给argument ②如果有参数列表, 会对应赋值给参数列表, 如果超出原参数列表, 可以从argument对象中获得 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 function fun ( ) { }function withoutArg ( ) { }function withArg (a, b ) {console .log (a + b);return a + b;} var res = withArg (2 , 3 );console .log (res);function withoutArg2 ( ) {console .log (arguments ); return arguments ;} var res2 = withoutArg2 ("Tom" , 23 );
第三章 全局变量与局部变量 第一节 全局变量 语法: 全局变量(在函数外面定义的都是全局变量) 使用:在方法中, 可以直接更改(无需像python添加global关键字) 在方法中,不可以定义名字相同的变量 第二节 局部变量 语法: 在方法中定义的都是局部变量 使用:局部变量无法再全局区域(函数外)使用 1 2 3 4 5 6 7 8 9 10 11 12 var a = 10 ; function func1 ( ) { var b = 20 ; console .log (a); a+=1 ; console .log (a); a=0 ; console .log (a); } console .log (a);console .log (b);
第四章 条件判断 第一节 if/else if/else 1 2 3 4 var a = 1 ;if (a < 10 ) console .log ("under" );else if (a > 10 ) console .log ("upper" );else console .log ("equal" );
第二节 三目运算符 1 2 var b = a > 10 ? "woc" : 9 ;console .log (b);
第五章 逻辑判断 且: && 或: || 非: ! ==第六章 获取标签和操作元素== 1 2 3 4 <body > <input type ="text" name ="set_size" id ="input-1" value ="1" > <a href ="https://www.baidu.com" id ="link-1" class ="sty-1" > 这是一个链接</a > </body >
第一节 获取页面标签 语法: getElementById()这个方法是通过标签的id获取的, 如果想用class或标签得需要其他方法, 推荐用jquery 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 my_input = document .getElementById ("input-1" ); my_a = document .getElementById ("link-1" ); console .log (my_input); console .log (my_input.type ); console .log (my_input.name ); console .log (my_input.id ); console .log (my_input.value );console .log (my_a)console .log (my_a.id )console .log (my_a.className )
第二节 获取和修改页面元素 语法: 标签.style.属性 太麻烦了, 而且因为关键字的问题, js中不能与一些属性重名,导致非常难记, 推荐用jquery 1 2 3 4 5 my_input.style .fontSize ="30px" ; my_a.style .background ="skyblue" ;
==第七章 操作文本== 1 2 3 <body > <div id ="div-1" > 这是一个div-1标签</div > </body >
第一节 获取标签中的 文本 1 2 3 var my_div = document .getElementById ("div-1" );console .log (my_div.innerHTML );
第二节 修改标签中的 文本 1 2 3 4 var my_div = document .getElementById ("div-1" );my_div.innerHTML ="修改后的内容" console .log (my_div.innerHTML );
第八章 数组 初始化: ①通过new对象 ②通过字面量 操作: ①增.push() ②删末尾.pop() ③删改指定位置.splice() ④查随机访问 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 var arr1 = new Array (1 , 2 , 3 , "abc" , true , function func1 ( ) { alert ("damn!" ) });var arr2 = [1 , 2 , "abc" , true ];console .log ("arr1的长度" + arr1.length + "\narr2的长度" + arr2.length );console .log (arr2);arr2.push ("newElement" ); console .log (arr2);arr2.pop (); console .log (arr2);arr2.splice (0 ,1 ); arr2.splice (0 ,2 ); console .log (arr2);arr2.splice (0 , 1 , '修改' ); console .log (arr2);arr1[5 ]();
第九章 循环 语法: 和java循环的语法完全一样 注意⚠️:js中对全局变量的定义, 所以for循环里面的也是全局变量 这个是会产生越界问题的, 和数组中的splice()方法不一样!!! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 var arr = [1 , 2 , 3 , 4 ];for (var i = 0 ; i < arr.length ; i++) { console .log (arr[i]); } var j = 0 ;while (j < arr.length ) { console .log (arr[j]); j++; } var k= 3 ;do { console .log (arr[k]); k++; }while (k<arr.length );
第十章 字符串 注意⚠️:number类型遇到 string类型的那一刻起, 就变为string了 1 2 3 4 5 6 var a = 1 , b = 2 ;console .log (a + b + "6" );
第十一章 对象 注意⚠️:这里学的是 对象, 对象是类的实例化; 不是类
通过 {}(字面量) 创建对象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 var dog = { name : "旺财" , age : "3" , bark : function ( ) { console .log ("旺旺~" ); } } console .log (dog.name );console .log (dog.age );dog.bark (); dog.age ++; console .log (dog.age );
通过 new Object() 创建对象 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 var cat = new Object ();cat.strain = "蓝猫" ; cat.name = "小曦" ; cat.eat = function ( ) { console .log ("喵喵~好吃~" ); } console .log (cat.strain );console .log (cat.name );cat.eat (); cat.eat = function ( ) { console .log ("喵喔!真好吃" ); } cat.eat ();
通过 构造方法 创建对象注意⚠️:其中this指代的是这个对象有 属性/方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function Animal (name, age ) { this .name = name; this .age = age; this .run = function ( ) { console .log (this .age + "岁的" + this .name + "正在跑步..." ); } } var cat2 = new Animal ("小曦" , 12 );cat2.run (); cat2.age =13 ; cat2.run ();
第十二章 计时器 第一节 创建计时器 语法:①只调用一次 方法的 计时器: setTimeout(指定方法, 等待多少ms调用) ②调用无限次 方法的计时器setInterval(指定方法, 等待多少ms调用) 1 2 3 4 5 6 7 8 9 10 11 function call ( ) { console .log ("哈哈哈!" ); } t1= setTimeout (call,1000 ); t2 = setInterval (call, 100 );
第二节 清除计时器 语法: ①clearTimeout() ②clearInterval() 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 window .onload = function ( ) { var h1 = document .getElementById ("id1" ); var time=3 ; function displayTime ( ) { if (time==0 ) { clearInterval (t1); } h1.innerHTML = time; time--; } t1 = setInterval (displayTime,1000 ); }
第十三章 作业 通过js计算100以内所有偶数之和,以及计算所有奇数之和,在把两个数据进行相减
1 2 3 4 5 var odd_sum = 0 , even_sum = 0 for (var i = 0 ; i <= 100 ; i++) i % 2 ? odd_sum += i : even_sum += i; alert (even_sum-odd_sum)
第十四章 常用方法 第一节 filter和some 14.1.1 实际需求 需求: 如果你想检查node.id是否不在deleteNodes数组中的任何一个对象的id属性中;如何用: 你可以使用Array.prototype.some方法来检查是否存在于deleteNodes数组中。如果没有找到匹配的id,那么some方法会返回false。下面是如何实现这个逻辑的代码:
1 2 3 4 5 6 7 8 let deleteNodes = res.data .deleteNodes ;let remainingNodes = this .testGraph .nodes .filter (node => { return !deleteNodes.some (deleteNode => deleteNode.id === node.id ); });
解释: 这段代码会创建一个新的remainingNodes数组,其中只包含那些id不在deleteNodes数组中的节点。some方法会遍历deleteNodes数组,如果找到任何一个对象的id与当前节点的id相等,它就会返回true,那么filter方法就会排除这个节点。如果没有找到匹配的id,some方法会返回false,那么filter方法就会保留这个节点。
1 2 3 4 5 6 this .testGraph .nodes .filter (node => {return !deleteNodes.some (dn => dn.id === node.id )})
14.1.2filter 解释: filter 方法创建一个新数组,其包含通过所提供函数实现的测试的所有元素。这个方法不会修改原数组。语法:
1 array.filter (callback (element[, index[, array]])[, thisArg])
callback:一个函数,它会被数组中的每个元素调用,并为每个元素产生一个布尔值(true 或 false)。element:当前正在处理的数组元素。index(可选):当前正在处理的数组元素的索引。array(可选):调用 filter 方法的数组。thisArg(可选):执行回调时使用的 this 值。返回值: 返回一个新数组,包含通过 callback 函数测试的所有元素。
示例:
1 2 3 const numbers = [1 , 2 , 3 , 4 , 5 ];const evenNumbers = numbers.filter (number => number % 2 === 0 );console .log (evenNumbers);
14.1.3some 解释: some 方法测试数组中是不是至少有一个元素通过了被提供的函数测试。它返回的是一个布尔值。语法:
1 array.some (callback (element[, index[, array]])[, thisArg])
callback:一个函数,它会被数组中的每个元素调用。element:当前正在处理的数组元素。index(可选):当前正在处理的数组元素的索引。array(可选):调用 some 方法的数组。thisArg(可选):执行回调时使用的 this 值。返回值: 如果数组中至少有一个元素使提供的测试函数返回 true,则返回 true;否则返回 false。示例:
1 2 3 const numbers = [1 , 2 , 3 , 4 , 5 ];const hasEvenNumber = numbers.some (number => number % 2 === 0 );console .log (hasEvenNumber);
第四部分 Jquery 基础 介绍
jquery可以理解为js的增强(或js的框架) 需要通过<script src="./js/jquery-3.7.1.slim.min.js"></script>进行引入 jquery-3.7.1.slim.min.js这个文件去JQuery官网 复制 第一节 jquery 对比 原生js 1 2 3 4 任务 1.js原生方式=>加载页面+获取元素 2.jqurey的加载方式 3.jquery精简的方式
语法:jquery一般方式: $(document).ready( function(){} ) jquery精简方式: $( fucntion(){} ) ==易错 ==:$符号后面是() 不是{} 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 window .onload = function ( ) { var my_div = document .getElementById ("div-1" ); console .log ("js原生方式" , my_div); } $(document ).ready (function ( ) { var my_div = document .getElementById ("div-1" ); console .log ("jquery的方式" , my_div); }) $( function ( ) { var my_div = document .getElementById ("div-1" ); console .log ("jquery精简的方式" , my_div); } )
==第二节 jquery获取标签== 选择器的作用: 获取页面标签
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 任务 1. 通过id选择器 获取div_1 2. 通过标签选择器 获取a 3. 通过类选择器 获取div_1 4. 通过层级选择器 获取 span标签 5. 通过属性选择器 获取input标签 ```html文件 <div id ="my_id" class ="my_class" > div - 1</div > <a href ="#" > 这是一个超链接</a > <ul id ="my_ul" > <li > <span > span-1</span > </li > <li > <span > span-2</span > </li > <li > <span > span-3</span > </li > </ul > <input type ="text" name ="first" value ="这是一个输入框" > <br > <input type ="password" name ="key" value ="132" > ```
语法: $() 括号里面可以是#id/.class/标签/属性选择器; 比原生js不同方法要简洁的多 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 $( function ( ) { var my_div_1 = $("#my_id" ); console .log ("通过id选择器" , my_div_1); var my_link = $("a" ); console .log ("通过标签选择器" , my_link); var my_div_2 = $(".my_class" ); console .log ("通过类选择器" , my_div_2); var my_span = $("#my_ul li span" ) console .log ("通过层级选择器" , my_span); var my_input = $("input[name=first]" ); console .log ("通过属性选择器" ,my_input); var my_password = $("inupt[type=text]" ); console .log (my_password); } )
第三节 jquery选择集过滤 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 任务: 1. 将id为"mytext"的div背景改为红色 2. 将第1个li背景改为绿色 <div > 这是第一个div <input type ="text" id ="mytext" > </div > <div > 这是第二个div <input type ="text" > <input type ="button" value ="点击" > </div > <ul > <li > 1</li > <li > 2</li > <li > 3</li > </ul >
语法:has("id/class/标签..."): 获取具有指定特征的标签css({}):改变标签的css样式eq(index): 选择集中的第几个元素(索引从0开始) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $( function ( ) { var my_div = $("div" ).has ("#mytext" ); my_div.css ({"background" :"red" }); var my_li = $("li" ).eq (1 ); my_li.css ({"background" :"green" }) } )
==第四节 jquery操作文本== 1 2 3 4 5 6 7 8 任务: 1. 获取盒子中p标签的的 文字内容 2. 修改文字内容为 "双双" 3. 追加文字内容 "今天天气不错" <div id ="my-div" > <p > hello</p > </div >
语法:.html(): 获取标签内的元素.html("modify_text"): 设置标签内的元素为”modify_text”.append("append_content"): 往 标签内的元素追加”append_content”的内容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $( function ( ) { var p =$("#my-div p" ) console .log (p.html ()); p.html ("双双" ) console .log (p.html ()); p.append (",今天天气真好!" ) console .log (p.html ()); } )
==第五节 jquery操作元素== 1 2 3 4 5 6 7 8 任务 1. 获取a标签的 id元素 2. 设置a标签 的href跳转到百度 , title为"跳转到百度 class为"my_link_class" 3. 获取input标签的value属性值 4. 修改input标签的value属性值(两种方式) <a href ="#" id ="link-1" > 这是一个链接</a > <input type ="text" id ="input-1" value ="这是一个输入框" >
第一节 获取元素 语法:标签.prop("属性名称") 获取标签中的属性 1 2 3 4 5 6 var my_link = $("#link-1" );var my_input = $("#input-1" );var link_id = my_link.prop ("id" );
第二节 修改元素 语法:prop({}): 这里传的对象(字典)多对属性和值prop("属性", "新值"): 第二个参数用于传需要修改的值val(): 这个只能获取value这个属性, 其他的获取不了val("新值"): 如果传入字符串相当于, 修改值 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 my_link.prop ({ "href" : "https://www.baidu.com" , "class" : "my_link_class" }) my_link.html ("点击跳转百度" ); var value = my_input.prop ("value" ); var value2 = my_input.val (); my_input.val ("真棒" ) my_input.prop ("value" , "真棒2" )
第六节 jquery事件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 任务 1. 鼠标点击 哪个li, li就变背景颜色为红色 2. 鼠标点击 按钮, 控制台打印输入框的内容 3. 输入框得到焦点, 背景变为黄色 4. 输入框失去焦点, 背景变为绿色 5. 鼠标进入div, 背景变为粉色 6. 鼠标离开div, 背景变为白色 <div id ="div-1" > <ul class ="list" > <li > 列表文字-1</li > <li > 列表文字-2</li > <li > 列表文字-3</li > </ul > <input type ="text" id ="text-1" > </div > <input type ="button" id ="button-1" value ="点我一下" >
所有事件 : 了解下, 用到再说
如何理解this???
1 2 3 4 5 6 7 var my_li = $(".list li" ); my_li.click (function ( ) { console .log ($(this )); $(this ).css ({ "background" : "red" }); console .log ($(this ).index ()); });
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 $( function ( ) { var my_li = $(".list li" ); my_li.click (function ( ) { console .log ($(this )); $(this ).css ({ "background" : "red" }); console .log ($(this ).index ()); }); var my_button = $("#button-1" ); my_button.click (function ( ) { var my_input = $("#text-1" ); console .log (my_input.prop ("value" )); }); var my_input = $("#text-1" ); my_input.focus (function ( ){ my_input.css ({"background" :"yellow" }) }); my_input.blur (function ( ) { my_input.css ({"background" :"green" }) }); var my_div = $("#div-1" ); my_div.mouseover (function ( ) { my_div.css ({"background" :"pink" }); }); my_div.mouseout (function ( ) { my_div.css ({"background" :"white" }) }); } )
第七节 jquery处理json数据 json数据类型∈object类型(两个很像),所以不要问,为什么不是json类型了,js没有json类型
创建json数据的两种方式JSON.parse(字符串类型的json数据) 这个的返回值就是object类型的数据(其实就是json类型的)字面量构建object 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 var json1 = '{"name":"Tom","age":23}' ;var j1 = JSON .parse (json1);console .log (json1 + " " + typeof json1);console .log (j1 + " " + typeof j1);console .log (j1.name +" " +j1.age );var j2 = { "name" : "Tom" , "age" : 23 };console .log (j2.name + " " + j2.age );
==第八章 ajax== 第一节 ajax是干什么的 第二节 用途一: ajax向后端发送请求 后端 前端(ajax的运用看注释)GET/POST/PUT/DELET: 一定要大写 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 $( function ( ) { var my_button = $("#button-1" ); my_button.click (function ( ) { $.ajax ({ url : "http://127.0.0.1:8080/data" , type : "GET" , dataType : "json" , success : function (response ) { console .log (response); }, error : function ( ) { console .log ("请求失败..." ); }, async : true }) }) } )
第九章 作业 网站 对当前网址发送ajax请求,提取出数据里面的图片地址,将图片展示在浏览器页面上,thumbURL是图片地址(是json里面的字段)
ps: 需要在Chrome插件市场安装 “Cross Domain - CORS”插件(绿色的十字) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 $( function ( ) { $.ajax ({ url : "https://image.baidu.com/search/acjson?tn=resultjson_com&logid=7217367652009448130&ipn=rj&ct=201326592&is=&fp=result&fr=ala&word=%E5%9B%BE%E7%89%87&queryWord=%E5%9B%BE%E7%89%87&cl=2&Im=-1&ie=utf-8&oe=utf-8&adpicid=&st=&z=&ic=&hd=&latest=©right=&s=&se=&tab=&width=&height=&face=&istype=&qc=&nc=&expermode=&nojc=&isAsync=&pn=210&rn=30&gsm=d2&1685454799580=" , type : "GET" , dataType : "json" , success : function (response ) { alert ("请求成功" ) arr = response['data' ] myDiv = $("#div1" ) for (let i = 0 ; i < arr.length ; i++) { image_url = arr[i]['thumbURL' ] myDiv.append ('<img src="' + image_url + '">' ) } }, error : function ( ) { alert ("请求失败" ) }, }) } )