1.JavaSE C/S Client Server (客户端/服务器)
JavaWeb B/S Broswer Server (浏览器/服务器)
2.网页由三部分内容组成:内容、表现、行为。
3.bgcolor是背景颜色
4.br换行 hr水平线
5.标签不可以交叉嵌套
6.属性加引号
7.注释不可以嵌套
空格的特殊字符是:
9.h1-h6都是标题标签,align="left",align="right"
10.超链接:百度
self表示当前页面跳转,black表示打开新的页面
11.列表标签:有序列表,无序列表
12.img标签:显示图片 alt设置当指定路径找不到图片时,用来替代显示的文本内容
13.路径:
在javase中相对路径:从工程名开始算,绝对路径:盘符:/目录/文件名
在web中相对路径:
. 表示当前文件所在的目录 … 表示当前文件所在的上一级目录 文件名:表示当前文件所在目录的文件,相当于 ./文件名
绝对路径:http://ip:port/工程名/资源路径
14.表格:
table标签是表格标签
tr是行标签
th是表头标签
td是单元格标签
单元格跨行跨列:
ifarme标签可以在一个页面上,打开一个小窗口,去单独加载一个页面。
ifarme标签与a标签组合使用的步骤如下:
1.在ifarme上面使用name属性,定义一个名称
2.在a标签的target属性上设置ifarme的name属性值。
<iframe src="hhh.html" width="400" height="500" name="abc">iframe>
<ul>
<li><a href="hhh.html" target="abc">111a>li>
<li><a href="ssss.html" target="abc">222a>li>
ul>
15.表单标签:
表单就是html页面中用来收集用户信息的所有元素集合,然后把这些信息发送给服务器。
form标签就是表单
<form action="http://baidu.com" method="post or get">
表格格式化: 利用table tr td 将表单放入到表格中。
表单提交的细节
form中:action属性设置提交的服务器地址,method属性设置提交的方式GET/POST
如action=“hhtp://baidu.com” method="get"
表达提交的时候,数据没有发送给服务器的三种情况:
1.表单项没有name属性值
2.单选、复选(下拉列表中的option)都需要添加value属性,以便发送给服务器。
3.表单项不在提交的form标签中。
GET请求的特点是:
1.浏览器地址栏中的地址是,action属性【+?+请求参数】
请求参数的固定格式是:name=value&name=value
2.不安全
3.它有数据长度的限制。
POST请求的特点是:
1.浏览器地址栏中只有action属性值
2.相对于get请求要安全
3.理论上没有数据长度的限制
16.div,span,p
div独占一行,span 他的长度为封装数据的长度,p标签:默认会在段落的上方或者下方各空出来一行来,(如果有就不再空了)。
注释是/**/
把css样式写成一个单独的css文件,再通过HTML标签引入即可。
css选择器:
标签名选择器:标签名选择器可以决定哪些标签被动的使用这个样式。
id选择器:#id 属性值{属性:值},id选择器可以让我们通过id属性选择性去使用这个样式。
class选择器:.class属性值{属性:值;}:
组合选择器的格式是:选择器1,选择器2,…选择器n{属性:值;}组合选择器可以让多个选择器共用一个css样式代码
每个元素只能有一个id,而可以在同一元素上使用多个class。
css常用样式:color height width background-color font-size border
JS是弱类型语言(类型可变)
特点:
1.交互性(它可以做的就是信息的动态交互)
2.安全性(不允许直接访问本地硬盘)
3.跨平台性(只要是可以解释JS的浏览器都可以执行,和平台无关)
src引入js文件,
script标签可以用来定义js代码,也可以引入js文件,二者选一,不可以同时使用。
javascript变量和数据类型
变量类型:数值类型、字符串类型、对象类型、布尔类型、函数类型(function)。
特殊的值:undefined未初始化 null空值 NAN非数值非数字
关系运算:
等于== 等于是简单的做字面值的比较
全等于=== 除了做字面值的比较之外,还会比较两个变量的数据类型
逻辑运算:在JavaScript语言中,所有类型的变量都可以做为一个Boolean类型变量去使用。
数组
JS中数组的定义:
格式: var 数组名=[];
var 数组名=[1,‘abc’,true];
函数
函数有两种定义方式:
1.利用function关键字来定义
function 函数名(形参列表){
函数体
}
2.var 函数名 = function(形参列表){函数体}
Java中有重载,但是在JS中函数的重载会直接覆盖掉上一次的定义。
隐形参数:就是在function函数不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。
隐形参数特别像java中的可变长参数 public void fun(Object … args);可变长参数其实是一个数组。
JS中自定义类型对象:
object形式的自定义对象
对象的定义:
var 变量名 = new object();//对象实例(空对象)
变量名.属性名=值;//定义一个属性
变量名.函数名=function(){}//定义一个函数
对象的访问:变量名.属性/函数名();
{}花括号形式的自定义对象
var 变量名={
属性名:值,
属性名:值,
函数名:function(){}
};
JS中的事件
什么是事件?事件是电脑输入设备与页面进行交互的响应。
常见的事件:
onload加载完成事件; //页面加载完成之后,常用于做js代码初始化操作
onclick单击事件 //常用于按钮的点击响应操作。
onblur失去焦点事件 //常用于输入框,失去/离开焦点后验证输入的内容是否符合条件
onchange内容发生改变事件 //常用于下拉列表和输入框内容发生改变后操作
onsubmit表单提交事件 //常用于表单提交前,验证所有表单项是否合法。
事件的注册又分为静态注册和动态注册:
什么是事件注册(绑定):其实就是告诉浏览器,当事件响应后要执行哪些操作代码。
静态注册事件:通过HTML标签的事件属性直接赋予事件响应后的代码
动态注册事件:是指先通过js代码得到标签的dom对象,然后再通过dom对象.事件名=function(){}这种形式赋予事件响应后的代码。
动态注册基本步骤:1.获取标签对象2.标签对象.事件名=function=(){}
onload加载事件:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script type="text/javascript" >
//onload事件的方法
function onloadFun() {
alert('静态注册的onload事件,所有代码');
}
window.onload=function () {
alert('动态注册的onload方法');
}
script>
head>
<body onload="onloadFun();">
body>
html>
onclick点击事件
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script type="text/javascript" >
function onclickFun() {
alert('静态注册onclick事件');
}
window.onload=function () {
//1.获取标签对象
/*document是js提供的一个对象(整个页面)
* get 获取
* Element 元素(标签)
* ById (目标)
* */
var obj=document.getElementById("btn01");
obj.onclick=function () {
alert('动态注册的onclick');
}
//2.通过标签对象.事件名=function(){}
}
script>
head>
<body>
<button onclick="onclickFun();">按钮一button>
<button id="btn01">按钮二button>
body>
html>
onblur失去焦点事件
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script type="text/javascript">
//静态注册失去焦点事件
function onblurfun() {
//console是控制台对象,是由JavaScript语言提供,专门用来向浏览器的控制器打印输出,用于测试使用
//log()是打印的方法
console.log("静态注册失去焦点事件");
}
//动态注册onblur事件
window.onload=function () {
//1.获取标签对象
var obj=document.getElementById("mima");
obj.onblur=function () {
console.log("动态注册失去焦点");
}
}
script>
head>
<body>
用户名:<input type="text" onblur="onblurfun();"><br/>
密码:<input type="password" id="mima"><br/>
body>
html>
onchange内容发生改变事件
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script>
// function onchangeFun() {
// alert('女神改变');
// }
window.onload=function () {
var obj=document.getElementById("123");
obj.onchange=function () {
alert('男神改变');
}
}
script>
head>
<body>
请选择你心中的女神:
<select onchange="onchangeFun();">
<option>--女神--option>
<option>1option>
<option>2option>
<option>3option>
select>
请选择你心中的男神:
onsubmit表单提交事件
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script type="text/javascript">
//静态提交注册表单事件
/*function onsubmitFun() {
//要验证所有表单合法,如果有一个不合法,就阻止表单提交
alert('静态注册表单提交事件----发现不合法')
return false;
}*/
window.onload=function () {
var obj=document.getElementById("demo");
obj.onsubmit=function () {
alert('动态注册表单提交事件----发现不合法')
return false;
}
}
script>
head>
<body>
<form action="http://baidu.com" method="get" onsubmit="return onsubmitFun();">
<input type="submit" value="静态注册">
form>
<form action="http://baidu.com" id="demo" >
<input type="submit" value="动态注册">
form>
body>
html>
DOM模型
DOM全称是Document Object Model 文档对象模型
大白话:就是把文档中的标签、属性、文本、转换为对象来管理
DOM对象的理解:
1.Document它管理了所有的HTML文档内容。
2.document文档是一种树结构的文档,有层级关系。
3.他让我们把所有的标签都对象化了。
4.我们可以通过document访问所有的标签对象。
getElementById
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script>
/*需求:当用户点击了校验按钮,要获取输入框中的内容,然后验证其是否合法。
* 验证的规则是:必须由字母,数字,下划线组成,并且长度为5-12位。
* */
function onclickFun() {
//1.当我们要操作一个标签的时候,必须要先获取这个标签对象。
var obj=document.getElementById("123");
var nametext= obj.value;
var patt=/^\w{5,12}$/;
/*
test方法用于测试某个字符串,是不是匹配我的规则,匹配就返回true否则返回false
*/
if (patt.test(nametext)){
alert('用户名合法');
}else {
alert('不合法!');
}
}
script>
head>
<body>
用户名:<input id="123" type="text" value="qwa"/>
<button onclick="onclickFun();">校验button>
body>
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script>
/*需求:当用户点击了校验按钮,要获取输入框中的内容,然后验证其是否合法。
* 验证的规则是:必须由字母,数字,下划线组成,并且长度为5-12位。
* */
function onclickFun() {
//1.当我们要操作一个标签的时候,必须要先获取这个标签对象。
var obj=document.getElementById("123");
var nametext= obj.value;
var patt=/^\w{5,12}$/;
var usobj=document.getElementById("1234");
//innerText 表示起始标签和结束标签中的内容
/*
test方法用于测试某个字符串,是不是匹配我的规则,匹配就返回true否则返回false
*/
if (patt.test(nametext)){
usobj.innerText="用户名合法";
}else {
usobj.innerText="用户名不合法";
}
}
script>
head>
<body>
用户名:<input id="123" type="text" value="qwa"/>
<span style="color: red" id="1234">span>
<button onclick="onclickFun();">校验button>
body>
html>
getElementByName
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script type="text/javascript">
//getElementsByName是根据指定的name属性查询返回多个标签对象的集合
//这个集合的操作和数组一样,集合中每个元素都是dom对象。
function checkAll() {
//全选
var hobbies=document.getElementsByName("hobby");
for (var i=0;i<hobbies.length;i++){
hobbies[i].checked=true;
}
}
function checkNo() {
//全不选
var hobbies=document.getElementsByName("hobby");
for (var i=0;i<hobbies.length;i++){
hobbies[i].checked=false;
}
}
function checkReverse() {
//反选
var hobbies=document.getElementsByName("hobby");
for (var i=0;i<hobbies.length;i++){
hobbies[i].checked=!hobbies[i].checked;
}
}
script>
head>
<body>
兴趣爱好:
<input type="checkbox" name="hobby" value="cpp" >c++
<input type="checkbox" name="hobby" value="java">java
<input type="checkbox" name="hobby" value="js">javascript
<br/>
<button onclick="checkAll()">全选button>
<button onclick="checkNo()">全不选button>
<button onclick="checkReverse()">反选button>
body>
html>
getElementByTagName
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script type="text/javascript">
function checkAll() {
//document.getElementsByTagName("input");是按照指定标签名来进行查询并返回的集合
//这个集合的操作跟数组一样
//集合都是dom对象
//集合中元素顺序是他们在html页面中从上到下的顺序
var inputs=document.getElementsByTagName("input");
for (var i=0;i<inputs.length;i++){
inputs[i].checked=true;
}
}
script>
head>
<body>
兴趣爱好:
<input type="checkbox" value="cpp" >c++
<input type="checkbox" value="java">java
<input type="checkbox" value="js">javascript
<br/>
<button onclick="checkAll()">全选button>
body>
html>
注意事项
使用的优先顺序:document对象的三个查询方法,如果有id属性,优先用ById方法来进行查询。其次是name然后是TagName
以上三个方法必须在页面加载完成之后执行,才能查询到标签对象。
节点的常用属性和方法
节点就是标签对象,但是远远不止。
JQuery介绍
什么是jQuery?顾名思义,是JavaScript和查询(query),他就是辅助JavaScript开发的js类库。
jQuery的核心思想:写的更少,做得更多。所以它实现了浏览器中的兼容问题。
流行程度:jQuery已经称为最主流的JavaScript库
jQuery的好处:免费,开源,设计语法简单。
jquery的helloworld演示:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script type="text/javascript" src="jquery-1.11.3.min.js">script>
<script type="text/javascript">
/*window.οnlοad=function () {
var obj=document.getElementById("132");
alert(obj);
obj.οnclick=function () {
alert("?");
}
}*/
$(function () {
//表示页面加载完成之后,相当于onload
var $obj=$("#132");//表示按id查询标签对象
$obj.click(function () {
alert("jquery的点击事件");
})
})
script>
head>
<body>
<button id="132">hibutton>
body>
html>
使用jQuery一定要引入jQuery吗? 答案:肯定
jQuery中的$是什么? 答案:它是一个函数
怎么为按钮添加点击响应函数的? 答案:1.使用jQuery查询到标签对象。2.使用标签对象.click(funtion(){});
jQuery核心函数
是 j Q u e r y 中 的 核 心 函 数 , 能 够 完 成 j Q u e r y 的 很 多 功 能 , 是jQuery中的核心函数,能够完成jQuery的很多功能, 是jQuery中的核心函数,能够完成jQuery的很多功能,()就是调用$这个函数
1.传入参数为【函数】时:表示页面加载完成之后,相当于window.οnlοad=funtion(){};
2.传入参数为【html字符串】时:会帮我们创建这些HTML对象
3.传入参数为【选择器字符串】时:$("#id属性值");id选择器,根据id查询标签对象
$(“标签名”) 标签名选择器,根据指定的标签名查询标签对象
$(".class属性值");类选择器,可以根据class属性查询标签对象
4.传入参数为【DOM对象】时:会把这个dom对象转换为jQuery对象。
如何区分jQuery对象与DOM对象
Dom对象
1.通过getElementByld()查询出来的标签对象是Dom对象
2.通过getElementsByName()查询出来的标签对象是Dom对象
3.通过getElementsByTagName()查询出来的标签对象是Dom对象
4.通过createElement()方法创建的对象,是Dom对象
DOM对象Alert出来的效果是: [object HTML标签名Element]
jQuery对象
5.通过JQuery提供的API创建的对象,是JQuery对象
6.通过JQuery包装的Dom对象,也是JQuery对象
7.通过JQuery提供的API查询到的对象,是JQuery对象
jQuery对象Alert出来的效果是:[object Object]
jQuery对象本质
它是DOM对象的数组+jQuery提供的一系列功能函数。
jQuery对象与DOM对象使用区别
jQuery不能使用dom对象属性和方法,同don对象。
jQuery与dom对象转换
dom对象转化为jQuery对象(*重点)
1.先有dom对象,
2.$(DOM对象) 就可以转化为jQuery对象
jQuery转化为dom对象
1.先有jQuery对象
2.jQuery对象[下标]取出相对应的dom对象
jQuery基础选择器
层级选择器(重点)
过滤选择器
基本过滤选择器、内容过滤器、属性过滤选择器、表单过滤器、元素筛选
官网--------更多内容请查看官网
jQuery中html().text().val()方法
html()
它可以设置和获取起始标签和结束标签中的内容。
跟dom属性innerHTML 一样。
text()
它可以设置和获取起始标签和结束标签中的文本。
跟dom属性innerText 一样。
val()
它可以设置和获取表单项的value属性值。
跟dom属性value一样
val演示:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script src="jquery-1.11.3.min.js">script>
<script type="text/javascript">
$(function () {
$('button').click(function () {
alert($("#name").val());
})
})
script>
head>
<body>
<input type="text" name="name" id="name">
<button>操作输入框button>
body>
html>
attr()方法:可以设置和获取属性的值,不推荐操作checked,realOnly,selected,disabled等,attr还可以操作非标准属性。
prop()方法:可以设置和获取属性的值,推荐操作上面不推荐的。
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script src="jquery-1.11.3.min.js">script>
<script type="text/javascript">
$(function () {
alert($(':checkbox:first').attr("name"));//获取
alert($(':checkbox:first').attr("name","abc"))//设置
alert($(":checkbox:first").attr("checked"));//返回未定义。但是官方觉得返回是错误,给了个新方法
alert($(":checkbox:first").prop("checked"));
})
script>
head>
<body>
<input type="checkbox" name="name" checked="checked" value="name1"/>checkbox1
<input type="checkbox" name="name" value="name2"/>checkbox2
body>
html>
dom的增删改
内部插入:
appendTo() a.appendTo(b) 把a插入到b子元素末尾,成为最后一个子元素
prepend To() a.prepend(b) 把a插到b所有子元素前面,成为第一个子元素。
外部插入:
insertAfter() a.insertAfter(b) ba
insertBefore() a.insertBefore(b) ab
替换
replaceWith() a.replaceWith(b) b替换掉a
replaceAll() 用a替换掉所有的b
删除
remove() a.remove(); 删除a标签
empty() a.empty(); 清除a标签里的内容
左右选择移动练习
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script src="jquery-1.11.3.min.js">script>
<script type="text/javascript">
$(function () {
$("button:eq(0)").click(function () {
$("select:eq(0) option:selected").appendTo($("select:eq(1)"));
});
$("button:eq(1)").click(function () {
$("select:eq(0) option").appendTo($("select:eq(1)"));
})
$("button:eq(2)").click(function () {
$("select:eq(1) option:selected").appendTo($("select:eq(0)"))
})
$("button:eq(3)").click(function () {
$("select:eq(1) option").appendTo($("select:eq(0)"));
})
});
script>
css>
head>
<body>
<div id="left" >
<select name="sel01" multiple="multiple">
<option value="opt01">选项1option>
<option value="opt02">选项2option>
<option value="opt03">选项3option>
<option value="opt04">选项4option>
<option value="opt05">选项5option>
<option value="opt06">选项6option>
<option value="opt07">选项7option>
<option value="opt08">选项8option>
select>
<button>选中添加到右边button>
<button>全部添加到右边button>
div>
<div id="right">
<select name="sel02" multiple="multiple">select>
<button>选中删除到左边button>
<button>全部删除到左边button>
div>
body>
html>
css样式
addClass() 添加样式
removeClass() 删除样式
toggleClass() 有就删除,没有就添加样式
offset() 获取和设置元素的坐标
jQuery中的动画
基本动画:
show() 将隐藏的元素显示
hide() 将可见的元素隐藏
toggle() 可见就隐藏,不可见就显示。
以上的动画方法都可以添加参数。
1.第一个参数是动画 执行的时长,以毫秒为单位。
2.第二个参数是动画的回调函数(动画完成后的自动调用的函数)
原生js和jQuery页面加载完成之后的区别
$(funtion(){});和window.οnlοad=function(){}的区别?
他们分别在什么时候触发?
1.jQuery的页面加载完成之后是浏览器的内核解析完页面的标签创建好DOM对象之后就会马上执行
2.原生js加载页面完成之后,除了要等浏览器的内核解析完页面的标签创建好DOM对象还要等标签显示时需要的内容加载完成。
他们的触发顺序?
1.jQuery页面加载完成之后先执行。
2.原生js的页面加载完成
执行次数
1.原生js的页面加载完成之后,只会执行最后一次的赋值函数
2.jQuery的页面加载完成之后是全部把注册的function函数依次执行。
jQuery中常见的事务处理方法
click() 它可以绑定单击事件,以及触发单击事件。
mouseover() 鼠标移入事件
mouseout() 鼠标移出事件
bind() 可以给元素一次性绑定一个或多个事件。
one() 使用和bind()一样,但是one方法绑定的事件只会响应一次。
live() 也是用来绑定事件的,它可以用来绑定选择器匹配的所有元素的事件,哪怕这个对象是后来创建出来的也有效。
unbind() 跟bind方法相反的操作,解除事件绑定。不加参数就会都删除。
事件的冒泡
什么是事件冒泡?
事件的冒泡是指父子元素同时监听同一个事件。当触发子元素的事件的时候,同一个事件也被传递到了父元素的事件里面去响应。
如何阻止事件冒泡?
在子元素事件函数体内添加return false ,可以阻止事件的冒泡传递。
事件对象
事件对象,是封装有触发信息的一个JavaScript对象,我们重点关心的是怎么拿到这个JavaScript的事件对象,以及使用。
如何获取JavaScript事件对象呢?
在给定元素绑定事件的时候,在事件的function(event)参数列表中添加一个参数,这个参数名,我们习惯叫做event。这个event就是JavaScript传递参数事件处理函数的事件对象。