* HTML和CSS之间的区别
性质不同
HTML是描述网页内容和结构的基本标记语言。而,CSS是HTML的扩展,它修改了网页的设计和显示。
HTML是网页的结构,CSS是网页的样式。例如如果把整个网页比喻成一个人,那么HTML就是骨头,CSS就是衣服。
语法不同
CSS声明位于大括号内,并且每个声明均由两部分组成:属性及其值,用冒号分隔。可以在一个声明中定义多个属性,每个属性之间用分号分隔。选择器:指示要设置样式的HTML元素。
注释的格式不同
HTML注释风格: CSS注释风格:/*注释内容*/
HTML文件可以包含CSS代码,而CSS样式表绝对不能包含HTML代码。
即CSS可以在HTML文件中使用,但HTML不能在CSS样式表中使用。
JS Javascript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。例如可以设置鼠标悬停效果,在客户端验证表单,创建定制的HTML页面,显示警告框,设置cookie等等。
function jsHello{ alert(‘Hello World!’); }
把代码嵌入HTML语言中,它会在加载时弹出一个“Hello World”对话框。
HTML,裸体
CSS,好看
JavaScript,动态。
编程语言
类库(模块)【jQuery是javaScript的类库】
JQuery jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
BootStrap Bootstrap是一个免费的前端框架,并且是基于html和JavaScript、css三者开发的框架,主要用于响应式网站上的结构和布局,Bootstrap的出现主要是简化Web工作者的工作,其中还包括对JavaScript中的动态调整。
HTML 编码
浏览器标题 <head > <meta charset ="UTF-8" > <title > 我的联通</title > </head >
页面内容标题 <h1 > 1级标题</h1 > <h2 > 2级标题</h2 > <h3 > 3级标题</h3 > <h4 > 4级标题</h4 > <h5 > 5级标题</h5 > <h6 > 6级标题</h6 >
div和span div,一个人占一整行。【块级标签】 <div > 山东蓝翔</div > <div > 挖掘机哪家强</div > span,自己多大占多少。【内联标签】 <span > 山东蓝翔</span > <span > 挖掘机哪家强</span >
超链接 <a href ="http://www.chinaunicom.com.cn/about/about.html" > 点击跳转</a > <a href ="http://127.0.0.1:5000/get/news" > 点击跳转</a > <a href ="/get/news" > 点击跳转</a > <a href ="/get/news" > 点击跳转</a > <a href ="/get/news" target ="_blank" > 点击跳转</a >
图片 <img src ="图片地址" /> <img src ="https://pic4.zhimg.com/v2-b23f984c2aeaa7bed12e890b4338d499_720w.jpg" /> <img src ="/static/wbq.png" /> <img src ="图片地址" style ="height:100px; width:200px;" /> <img src ="图片地址" style ="height:10%; width:20%;" />
小结 <h1 > </h1 > <div > </div > <span > </span > <a > </a > <img />
列表 <ul > <li > 中国移动</li > <li > 中国联通</li > <li > 中国电信</li > </ul > <ol > <li > 中国移动</li > <li > 中国联通</li > <li > 中国电信</li > </ol >
表格 <table > <thead > <tr > <th > ID</th > <th > 姓名</th > <th > 年龄</th > </tr > </thead > <tbody > <tr > <td > 10</td > <td > 武沛齐</td > <td > 19</td > </tr > <tr > <td > 11</td > <td > 吴阳军</td > <td > 19</td > </tr > <tr > <td > 12</td > <td > 刘东</td > <td > 19</td > </tr > <tr > <td > 13</td > <td > 郭智</td > <td > 19</td > </tr > <tr > <td > 14</td > <td > 电摩</td > <td > 19</td > </tr > </tbody > </table >
<input type ="text" /> <input type ="password" > <input type ="file" > <input type ="radio" name ="n1" > 男 <input type ="radio" name ="n1" > 女<input type ="checkbox" > 篮球 <input type ="checkbox" > 足球<input type ="checkbox" > 乒乓球<input type ="checkbox" > 棒球<input type ="button" value ="提交" > -->普通的按钮<input type ="submit" value ="提交" > -->提交表单
下拉框 <select > <option > 北京</option > <option > 上海</option > <option > 深圳</option > </select > <select multiple > <option > 北京</option > <option > 上海</option > <option > 深圳</option > <option > 北京1</option > <option > 上海1</option > <option > 深圳1</option > </select >
多行文本
页面上的数据,想要提交到后台的条件:
form标签包裹要提交的数据的标签。
提交方式:method="get"
提交的地址:action="/xxx/xxx/xx"
在form标签里面必须有一个submit标签。
在form里面的一些标签:input/select/textarea 一定要写name属性
<input type="text" name="uu"/>
CSS CSS应用方式(3种)
在标签上
<img src ="..." style ="height:100px" /> <div style ="color:red;" > 中国联通</div >
在head标签中写style标签
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .c1 { color :red; } </style > </head > <body > <h1 class ='c1' > 用户登录</h1 > </body > </html >
写到文件中
.c1 { height :100px ; } .c2 { color :red; }
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <link rel ="stylesheet" href ="common.css" /> </head > <body > <h1 class ='c1' > 用户登录</h1 > <h1 class ='c2' > 用户登录</h1 > <h1 class ='c2' > 用户登录</h1 > <h1 class ='c1' > 用户登录</h1 > </body > </html >
选择器
ID选择器
#c1 { } <div id='c1'></div >
类选择器(最多)
.c1 { } <div clss='c1'></div >
标签选择器
属性选择器
input [type='text' ] { border : 1px solid red; } .v1 [xx="456" ] { color : gold; }
<input type ="text" > <input type ="password" > <div class ="v1" xx ="123" > s</div > <div class ="v1" xx ="456" > f</div > <div class ="v1" xx ="999" > a</div >
后代选择器
.yy li { color : pink; } .yy > a { color : dodgerblue; }
<div class ="yy" > <a > 百度</a > <div > <a > 谷歌</a > </div > <ul > <li > 美国</li > <li > 日本</li > <li > 韩国</li > </ul > </div >
关于选择器:
多:类选择器、标签选择器、后代选择器 少:属性选择器、ID选择器
样式 高度和宽度 .c1 { height : 300px ; width : 500px ; }
注意事项:
宽度,支持百分比。
设置高度和宽度对行内标签,如<span>
默认无效
对块级标签默认有效(但div霸道,即使右侧区域空白,也不给其他标签占用)
块级和行内标签
块级
行内
css样式:标签 -> display:inline-block
示例:行内&块级特性【能应用长度高度,又没有那么霸道】
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .c1 { display : inline-block; height : 100px ; width : 300px ; border : 1px solid red; } </style > </head > <body > <span class ="c1" > 中国</span > <span class ="c1" > 联通</span > <span class ="c1" > 联通</span > <span class ="c1" > 联通</span > </body > </html >
字体设置
颜色
大小
加粗 font-weight
字体格式 font-family
对齐方式 text-align: center
,line-height: 58px
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .c1 { color : #00FF7F ; font-size : 58px ; font-weight : 600 ; font-family : Microsoft Yahei; text-align : center; line-height : 58px ; } </style > </head > <body > <div class ="c1" > 中国联通</div > <div > 中国移动</div > </body > </html >
浮动 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <div > <span > 左边</span > <span style ="float: right" > 右边</span > </div > </body > </html >
div默认块级标签(霸道),如果浮动起来,就不霸道了
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .item { float : left; width : 280px ; height : 170px ; border : 1px solid red; } </style > </head > <body > <div > <div class ="item" > </div > <div class ="item" > </div > <div class ="item" > </div > </div > </body > </html >
如果你让标签浮动起来之后,就会脱离文档流。
这时候我们可以用style="clear: both;"
将它拽回来。不加clear的话 你好就与几个div同一行了
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .item { float : left; width : 280px ; height : 170px ; border : 1px solid red; } </style > </head > <body > <div style ="background-color: dodgerblue" > <div class ="item" > </div > <div class ="item" > </div > <div class ="item" > </div > <div class ="item" > </div > <div class ="item" > </div > <div style ="clear: both;" > </div > </div > <div > 你好</div > </body > </html >
边距 内边距 padding
内边距会把容器撑大 比如加内边距前div大小为 202 * 202 ,加后242 * 242
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .outer { border : 1px solid red; height : 200px ; width : 200px ; padding-top : 20px ; padding-left : 20px ; padding-right : 20px ; padding-bottom : 20px ; } </style > </head > <body > <div class ="outer" > <div style ="background-color: gold;" > 听妈妈的话</div > <div > 小朋友你是否下水道发 </div > </div > </body > </html >
外边距 margin <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <div style ="height: 200px;background-color: dodgerblue;" > </div > <div style ="background-color: red;height: 100px;margin-top: 20px;" > </div > </body > </html >
小结
body标签,默认有一个边距,造成页面四边都有白色间隙,如何去除呢?
内容居中
a标签是行内标签,行内标签的高度、内外边距,默认无效。
文本和图片的垂直方向居中
a标签默认有下划线。 a.{text-decoration: none;}
鼠标放上去之后hover 【在header中<style>
】
.c1 :hover { ... } a :hover { }
设置透明度 opacity:0.5; /* 0 ~ 1 */
CSS补充 hover
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .c1 { color : red; font-size : 18px ; } .c1 :hover { color : green; font-size : 50px ; } .c2 { height : 300px ; width : 500px ; border : 3px solid red; } .c2 :hover { border : 3px solid green; } .download { display : none; } .app :hover .download { display : block; } .app :hover .title { color : red; } </style > </head > <body > <div class ="c1" > 联通</div > <div class ="c2" > 广西</div > <div class ="app" > <div class ="title" > 下载APP</div > <div class ="download" > <img src ="images/qcode.png" alt ="" > </div > </div > </body > </html >
after <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .c1 :after { content : "大帅哥" ; } </style > </head > <body > <div class ="c1" > A</div > <div class ="c1" > AA</div > </body > </html >
position
案例:返回顶部(back永远在窗口的一个位置) <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .back { position : fixed; width : 60px ; height : 60px ; border : 1px solid red; right : 10px ; bottom : 50px ; } </style > </head > <body > <div style ="height: 1000px;background-color: #5f5750" > </div > <div class ="back" > </div > </body > </html >
案例:对话框
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > body { margin : 0 ; } .dialog { position : fixed; height : 300px ; width : 500px ; background-color : white; left : 0 ; right : 0 ; margin : 0 auto; top : 200px ; z-index : 1000 ; } .mask { background-color : black; position : fixed; left : 0 ; right : 0 ; top : 0 ; bottom : 0 ; opacity : 0.7 ; z-index : 999 ; } </style > </head > <body > <div style ="height: 1000px" > asdfasdfasd</div > <div class ="mask" > </div > <div class ="dialog" > </div > </body > </html >
relative与absolute(一般成对出现) <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .c1 { height : 300px ; width : 500px ; border : 1px solid red; margin : 100px ; position : relative; } .c1 .c2 { height : 59px ; width : 59px ; background-color : #00FF7F ; position : absolute; right : 20px ; bottom : 10px ; } </style > </head > <body > <div class ="c1" > <div class ="c2" > </div > </div > </body > </html >
border <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .c1 { height : 300px ; width : 500px ; border : 1px solid red; border-left : 3px solid #00FF7F ; margin : 100px ; } </style > </head > <body > <div class ="c1" > </div > </body > </html >
background-color <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .c1 { height : 50px ; width : 500px ; margin : 100px ; background-color : #5f5750 ; } </style > </head > <body > <div class ="c1" > 菜单</div > </body > </html >
BootStrap 是别人帮我们已写好的CSS样式,我们如果想要使用这个BootStrap:
下载BootStrap 并解压bootstrap-3.4.1-dist
使用时
在页面上引入BootStrap
编写HTML时,按照BootStrap的规定来编写 + 自定制。
使用步骤
将bootstrap拷贝到static/plugins/下
在<head>
标签中引入bootstrap
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <link rel ="stylesheet" href ="../static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css" > </head > <body > </body > </html >
在class
标签中使用
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <link rel ="stylesheet" href ="../static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css" > </head > <body > <input type ="button" value ="提交" > <input type ="button" value ="提交" class ="btn-primary" > <input type ="button" value ="提交" class ="btn-danger" > <input type ="button" value ="提交" class ="btn-group-xs" > <input type ="button" value ="提交" class ="btn-success" > </body > </html >
导航 https://v3.bootcss.com/components/
栅格系统 https://v3.bootcss.com/css/#grid
把整体划分为了12格
分类
响应式,根据屏幕宽度不同
.col-lg- .col-md- .col-sm-
非响应式(总是水平排列)
<div class ="col-xs-6" style ="background-color: red" > 1</div > <div class ="col-xs-6" style ="background-color: green" > 2</div >
列偏移(不用在左边填充div了)
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <link rel ="stylesheet" href ="static/plugins/bootstrap-3.4.1/css/bootstrap.css" > </head > <body > <div > <div class ="col-sm-offset-2 col-sm-6" style ="background-color: green" > 2</div > </div > </body > </html >
container <div class ="container-fluid" > <div class ="col-sm-9" > 左边</div > <div class ="col-sm-3" > 右边</div > </div >
<div class ="container clearfix" > <div class ="col-sm-9" > 左边</div > <div class ="col-sm-3" > 右边</div > </div >
<div class ="container" > <div class ="col-sm-9" > 左边</div > <div class ="col-sm-3" > 右边</div > </div >
面板 https://v3.bootcss.com/components/
案例:登录 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <link rel ="stylesheet" href ="../static/plugins/bootstrap-3.4.1-dist/css/bootstrap.css" > <style > body { margin : 0 ; } .a { width :300px ; border : 1px solid snow; top : 300px ; padding : 10px ; margin-top : 400px ; margin-left : auto; margin-right : auto; border-radius : 10px ; box-shadow : 5px 5px 10px #aaa ; } .b { text-align : center; } </style > </head > <body > <div class ="a" > <div class ="b" > <h2 > 用户登录</h2 > </div > <form > <div class ="form-group" > <label for ="exampleInputEmail1" > 用户名</label > <input type ="email" class ="form-control" id ="exampleInputEmail1" placeholder ="Email" > </div > <div class ="form-group" > <label for ="exampleInputPassword1" > 密码</label > <input type ="password" class ="form-control" id ="exampleInputPassword1" placeholder ="Password" > </div > <div class ="b" > <button type ="submit" class ="btn btn-default " > 提交</button > </div > </form > </div > </body > </html >
图标
BootStrap依赖 (引入js才能发挥出BootStrap的动态效果)
1.将js文件拷贝至项目/static/js/目录下
2.在<body>
标签中写下:
<script src ="../static/js/jquery-3.6.0.js" > </script > <script src ="../static/plugins/bootstrap-3.4.1-dist/js/bootstrap.js" > </script >
JavaScript JavaScript是一门编程语言。
JavaScript的意义是什么?- 让程序实现一些动态效果
javascript应用方式(两种)
当前HTML中。<head>
标签中或者<body>
标签中【推荐】都行
<script type ="text/javascript" > </script >
在其他js文件中,导入使用。
注释
变量
Python,编程语言。
JavaScript,编程语言。
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <script type ="text/javascript" > var name = "高倩" ; console .log (name); </script > </body > </html >
字符串类型 var name = "高倩" ;var name = String ("高倩" );
var name = "中国联通" ;var v1 = name.length ; var v2 = name[0 ]; var v3 = name.trim (); var v4 = name.substring (0 ,2 );
案例:跑马灯 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <span id ="txt" > 欢迎中国联通领导高倩莅临指导</span > <script type ="text/javascript" > function show ( ) { var tag = document .getElementById ("txt" ); var dataString = tag.innerText ; var firstChar = dataString[0 ]; var otherString = dataString.substring (1 , dataString.length ); var newText = otherString + firstChar; tag.innerText = newText; } setInterval (show, 1000 ); </script > </body > </html >
数组 var v1 = [11 ,22 ,33 ,44 ];var v2 = Array ([11 ,22 ,33 ,44 ]);
var v1 = [11 ,22 ,33 ,44 ];v1[0 ] = "高倩" ; v1.push ("联通" ); v1.unshift ("联通" ); v1.splice (1 ,0 ,"中国" ); v1.pop () v1.shift () v1.splice (2 ,1 );
var v1 = [11 ,22 ,33 ,44 ];for (var idx in v1){ } var v1 = [11 ,22 ,33 ,44 ];for (var i=0 ; i<v1.length ; i++){ }
案例:动态数据 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <ul id ="city" > </ul > <script type ="text/javascript" > var cityList = ["北京" ,"上海" ,"深圳" ]; for (var idx in cityList){ var text = cityList[idx]; var tag = document .createElement ("li" ); tag.innerText = text; var parentTag = document .getElementById ("city" ); parentTag.appendChild (tag); } </script > </body > </html >
对象【即python中的字典】 info = { "name" :"高倩" , "age" :18 } info = { name :"高倩" , age :18 }
info.age info.name = "郭智" info["name" ] = "郭智" delete info["age" ]
info = { name :"高倩" , age :18 } for (var key in info){ }
案例: 动态表格 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <table border ="1" > <thead > <tr > <th > ID</th > <th > 姓名</th > <th > 年龄</th > </tr > </thead > <tbody id ="body" > </tbody > </table > <script type ="text/javascript" > var info = {id : 1 , name : "郭智" , age : 19 }; var tr = document .createElement ("tr" ); for (var key in info) { var text = info[key]; var td = document .createElement ('td' ); td.innerText = text; tr.appendChild (td); } var bodyTag = document .getElementById ("body" ); bodyTag.appendChild (tr); </script > </body > </html >
条件语句
函数 function func ( ){ ... } func ()
*DOM【不用记,后期用jQuery】 DOM,就是一个模块,模块可以对HTML页面中的标签进行操作。
获取HTML内容
var tag = document .getElementById ("xx" );tag.innerText tag.innerText = "哈哈哈哈哈" ;
var tag = document .createElement ("div" );tag.innerText = "哈哈哈哈哈" ;
<ul id ="city" > <li > 北京</li > </ul > <script type ="text/javascript" > var tag = document .getElementById ("city" ); var newTag = document .createElement ("li" ); newTag.innerText = "北京" ; tag.appendChild (newTag); </script >
事件的绑定
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <input type ="button" value ="点击添加" onclick ="addCityInfo()" > <ul id ="city" > </ul > <script type ="text/javascript" > function addCityInfo ( ) { var newTag = document .createElement ("li" ); newTag.innerText = "联通" ; var parentTag = document .getElementById ("city" ); parentTag.appendChild (newTag); } </script > </body > </html >
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <input type ="text" placeholder ="请输入内容" id ="txtUser" /> <input type ="button" value ="点击添加" onclick ="addCityInfo()" > <ul id ="city" > </ul > <script type ="text/javascript" > function addCityInfo ( ) { var txtTag = document .getElementById ("txtUser" ); var newString = txtTag.value ; if (newString.length > 0 ) { var newTag = document .createElement ("li" ); newTag.innerText = newString; var parentTag = document .getElementById ("city" ); parentTag.appendChild (newTag); txtTag.value = "" ; }else { alert ("输入不能为空" ); } } </script > </body > </html >
实际开发中很少手写DOM操作,而是用一个封装了DOM的类库——jquery来实现【企业中更高级的框架还有vue.js和react.js】
j Q u e r y 应用 j Q u e r y <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <h1 id ="txt" > 中国联通</h1 > <script src ="static/jquery-3.6.0.min.js" > </script > <script type ="text/javascript" > $("#txt" ).text ("广西移动" ); </script > </body > </html >
j Q u e r y 选择器 直接寻找
ID选择器
<h1 id ="txt" > 中国联通</h1 > <h1 > 中国联通</h1 > <h1 > 中国联通</h1 >
样式选择器
<h1 class ="c1" > 中国联通1</h1 > <h1 class ="c1" > 中国联通2</h1 > <h1 class ="c2" > 中国联通3</h1 >
标签选择器
<h1 class ="c1" > 中国联通1</h1 > <div class ="c1" > 中国联通2</h1 > <h1 class ="c2" > 中国联通3</h1 >
层级选择器
<h1 class ="c1" > 中国联通1</h1 > <h1 class ="c1" > <div class ="c2" > <span > </span > <a > </a > </div > </h1 > <h1 class ="c2" > 中国联通3</h1 >
多选择器
<h1 class ="c1" > 中国联通1</h1 > <h1 class ="c1" > <div class ="c3" > <span > </span > <a > </a > </div > </h1 > <h1 class ="c2" > 中国联通3</h1 > <ul > <li > xx</li > <li > xx</li > </ul >
属性选择器
<input type ='text' name ="n1" /> <input type ='text' name ="n1" /> <input type ='text' name ="n2" />
间接寻找
找到兄弟
<div > <div > 北京</div > <div id ='c1' > 上海</div > <div > 深圳</div > <div > 广州</div > </div >
$("#c1" ).prev () $("#c1" ) $("#c1" ).next () $("#c1" ).next ().next () $("#c1" ).siblings ()
找父子
<div > <div > <div > 北京</div > <div id ='c1' > <div > 青浦区</div > <div class ="p10" > 宝山区</div > <div > 浦东新区</div > </div > <div > 深圳</div > <div > 广州</div > </div > <div > <div > 陕西</div > <div > 山西</div > <div > 河北</div > <div > 河南</div > </div > </div >
$("#c1" ).parent () $("#c1" ).parent ().parent () $("#c1" ).children () $("#c1" ).children (".p10" ) $("#c1" ).find (".p10" ) $("#c1" ).find ("div" )
案例:菜单的切换【重要】
版本1:一开始隐藏,点击一下显示菜单栏,但收不回去
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > <style > .menus { width : 200px ; height : 800px ; border : 1px solid red; } .menus .header { background-color : gold; padding : 10px 5px ; border-bottom : 1px dotted #dddddd ; } .menus .content a { display : block; padding : 5px 5px ; border-bottom : 1px dotted #dddddd ; } .hide { display : none; } </style > </head > <body > <div class ="menus" > <div class ="item" > <div class ="header" onclick ="clickMe(this);" > 上海</div > <div class ="content hide" > <a > 宝山区</a > <a > 青浦区</a > <a > 浦东新区</a > <a > 普陀区</a > </div > </div > <div class ="item" > <div class ="header" onclick ="clickMe(this);" > 北京</div > <div class ="content hide" > <a > 海淀区</a > <a > 朝阳区</a > <a > 大兴区</a > <a > 昌平区</a > </div > </div > </div > <script src ="static/jquery-3.6.0.min.js" > </script > <script > function clickMe (self ) { $(self).next ().removeClass ("hide" ); } </script > </body > </html >
<script src ="static/jquery-3.6.0.min.js" > </script > <script > function clickMe (self ) { var hasHide = $(self).next ().hasClass ("hide" ); if (hasHide){ $(self).next ().removeClass ("hide" ); }else { $(self).next ().addClass ("hide" ); } } </script >
版本3 ,点击其中一栏,其他栏如果已经展开的话,要收回。
<script > function clickMe (self ) { $(self).next ().removeClass ("hide" ); $(self).parent ().siblings ().find (".content" ).addClass ("hide" ); } </script >
操作样式
addClass
removeClass
hasClass
值的操作
$("#c1" ).text () $("#c1" ).text ("休息" )
<input type ='text' id ='c2' />
$("#c2" ).val () $("#c2" ).val ("哈哈哈" )
案例:动态创建数据 <!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <input type ="text" id ="txtUser" placeholder ="用户名" > <input type ="text" id ="txtEmail" placeholder ="邮箱" > <input type ="button" value ="提交" onclick ="getInfo()" /> <ul id ="view" > </ul > <script src ="../static/js/jquery-3.6.0.js" > </script > <script > function getInfo ( ) { var username = $("#txtUser" ).val (); var email = $("#txtEmail" ).val (); var dataString = username + " - " + email; var newLi = $("<li>" ).text (dataString); $("#view" ).append (newLi); } </script > </body > </html >
绑定事件
<input type ="button" value ="提交" onclick ="getInfo()" /> <script > function getInfo ( ) { } </script >
<ul > <li > 百度</li > <li > 谷歌</li > <li > 搜狗</li > </ul > <script > $("li" ).click (function ( ){ }); </script >
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <ul > <li > 百度</li > <li > 谷歌</li > <li > 搜狗</li > </ul > <script src ="static/jquery-3.6.0.min.js" > </script > <script > $("li" ).click (function ( ) { var text = $(this ).text (); console .log (text); }); </script > </body > </html >
删除标签 <div id ='c1' > 内容</div > <script > $("#c1" ).remove (); </script >
<!DOCTYPE html > <html lang ="en" > <head > <meta charset ="UTF-8" > <title > Title</title > </head > <body > <ul > <li > 百度</li > <li > 谷歌</li > <li > 搜狗</li > </ul > <script src ="static/jquery-3.6.0.min.js" > </script > <script > $(function ( ) { $("li" ).click (function ( ) { $(this ).remove (); }); }); </script > </body > </html >
前端整合
HTML
CSS
JavaScript、jQuery【JavaScript方便版】
BootStrap(动态效果依赖jQuery)