用户在浏览器填写登录表单,点击登录按钮后,会把信息发送给服务器端,服务器端判断账号、密码…是否正确,再响应回浏览器。
C--
,后来更名为:ScriptEase
LiveScript
。后来,请来了SUN公司的专家,修改LiveScript
,命名为JavaScript
。JavaScript
开发出JScript
语言.ECMAScript
就是所有客户端脚本语言的标准。JavaScript = ECMAScript + JavaScript 自己特有的东西 (BOM + DOM)
ECMAScript:客户端脚本语言的标准
标签,标签体内容就是js代码
标签,通过src
属性引入外部的js文件
可以定义在html页面的任何地方,但是定义的位置会影响执行顺序。
可以定义多个。DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<script>
alert("hello world");
script>
<script src="js/a.jsp">script>
head>
<body>
<input type="text">
body>
html>
<%@ page contentType="text/html;charset=UTF-8" language="java"
pageEncoding="UTF-8" %>
alert("我是外部的JS文件");
注释:
//注释内容
/*注释内容*/
<script>
//单行注释
/*
多行注释
*/
script>
数据类型:
3. 原始数据类型(基本数据类型):
number:数字。整数/小数/NaN(not a number 一个不是数字的数字类型)
string:字符串。“abc”, ‘abc’, “a”
boolean:ture和false
null:一个对象为空的占位符
undefined:未定义。如果一个变量没有给初始化值,则会被默认赋值为undefined
4. 引用数据类型:对象
++
,--
,+(-)
正负号,其他类型转number:string 转 number,按照字面值转换
var b = +"123";
typeof(b) //number类型
如果字面值不是数字,则转为NaN(不是数字的数字)
var b = +"abc"
typeyof(b) //NaN类型
boolean 转 number,true 转为1,false 转为 0
var flag = + true; //转类型,要加正号
var flag2 = + false;
typeof(flag) //number
flag //1
flag2 //0
+,-,*,/,%
=,+=,-=
>,<,>=,<=,==,===
(3 > 4) //false
字符串,按照字典顺序比较,按位逐一比较,直到得出大小为止。
("abc" > "acd") //false
把字符串转成数字,再和数字比
("123" == 123) //true
===全等于,在比较之前,先判断类型,如果类型不一样,直接返回false
("123" === 123) //false
var flag = true;
(flag) //true
(!flag) //false
其他类型转boolean
number,0或NaN为假,非0为真
var num = 3;
var num2 = 0;
var num3 = NaN;
(!num) //false
(!num2) //true
(!num3) //true
string 除了空字符串,其他都为true
var s = "abc"; //true
var s2 = ""; //false
null & undefined:都是false
对象:都是true
var a = 3;
var b = 4;
var c = a > b ? 1 : 0; //c=0
;
结尾,如果一行只有一条语句则;
可以省略(不建议)var
关键字,也可以不使用var a = 1;
switch(a):
case 1:
alert("number");
break;
case "abc":
alert("string);
break;
case true:
alert("true");
break;
case null:
alert("null");
break;
case undefine:
alert("undefined");
break;
var sum = 0;
var num = 1;
while(num <= 100) {
sum += num;
num ++;
}
alert(sum);
<script>
var sum = 0;
for(var i = 1; i <= 100; i++){
sum += i
}
alert(sum);
script>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>99乘法表title>
<style>
td{
border: 1px solid;
}
style>
<script>
document.write(");
//1. 完成基本的for循环嵌套,展示乘法表
for (var i = 1; i <= 9; i++) {
document.write("");
for (var j = 1; j <= i; j++) {
document.write("");
document.write(i + "*" + j + "=" + (i * j) + "  ");
document.write(" ");
}
document.write(" ");
}
//2. 完成表格嵌套
document.write("
");
script>
head>
<body>
body>
html>
function对象:函数对象
<script>
/*创建方式:
function 方法名称(形参列表){ 方法体 }
*/
function fun2(a, b){
alert(a + b);
}
fun2(3, 4); //输出7
var fun3 = function(a, b){
alert(a + b);
}
fun2(3, 4);
script>
特点:1. 方法定义时,形参类型不用写,返回值类型也不写
2. 方法是一个对象,如果定义名称相同的方法,会覆盖
3. 在JS中,方法的调用只与方法的名称有关,和参数列表无关
<script>
function fun2(a, b){
alert(a);
alert(b);
}
fun2(1, 2); //可以运行,输出1和2
fun2(1); //可以运行,输出1和undefined
fun2(1, 2, 3); //可以运行,输出1,2
script>
求任意个数的和
<script>
function add() {
var sum = 0;
for(var i = 0; i < arguments.length; i++){
sum += arguments[i];
}
return sum;
}
var sum = add(1, 2, 3, 4);
alert(sum); //输出10
script>
<script>
var arr1 = new Array(1, 2 ,3); //1,2,3
var arr2 = new Array(5); //.....,5表示数组长度,可以为空
var arr3 = [1, 2, 3, 4]; //1,2,3,4
script>
<script>
script>
<script>
var arr = [1, "abc", true]; //1,abc,true
arr[0] //1
arr[1] //abc
arr[2] //true
arr[3] //undefined
arr[10] = "hehe" //打印出来hehe
arr[9] //打印出来undefined
arr.length; //11
arr.join("--"); //1--abc--true----------hehe
arr.push(11); //1--abc--true----------hehe--11
script>
toLocaleString(): 返回当前date对象对应的时间本地字符串格式
getTime(): 获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值差。
<script>
var date = new Date();
date;
//打印出来是美国日期的字符串格式:
//Thu May 17 2018 14:59:59 GMT+0800(中国标准时间)
date.toLocaleString();//2018/5/17 下午3:01:55
date.getTime()
script>
Math 对象不用创建,直接使用
属性:PI
方法:
<script>
Math.PI; //3.1415926
Math.random() //0~1之间的随机数,含0不含1
Math.round(3.14) //四舍五入 3
Math.ceil(3.14) //向上取整 4
Math.floor(3.14) //向下取整 3
script>
取1~100之间的随机整数
1. Math.random()产生随机数,范围(0, 1]小数
2. 乘以 100 --> [0, 99.9999] 小数
3. 舍弃小数部分,floor --> [0, 99]整数
4. +1 --> [1,100]
<script>
var number = Math.floor(Math.random() * 100)) + 1;
script>
[a] 表示有一个字符是a
[ab] a或者b
[a-zA-Z0-9_]
\d: 单个数字字符 [0-9]
\w: 单个单词字符[a-zA-Z0-9_]
? 表示出现0次或1次
* 出现0次或多次
+ 出现1次或多次
{m, n} m<= 数量 <=n
{, n} 最多n次 {m, } 最少m次
<script>
var reg = new RegExp("\w{6,12}");
var reg2 = /^\w{6,12}$/;
var username = "zhangsan";
var flag = res2.test(username) //flag=true
script>
var str = "传智播客";
var encode = encodeURI(str);
//编码:打印encode:%E4%BC%A0%E6%99%BA%E6%92%AD%E5%AE%A2
var s = decodeURI(encode);
//解码:打印s:传智播客
var encode1 = encodeURIComponent(str);
var s1 = decodeURIComponent(encode);
//打印结果一样
var str = "123abc";
var number = parseInt(str); //打印出123
功能:控制html文档的内容
代码:获取页面标签(元素)对象 Element
document.getElementById("id值");
通过元素的id获取元素对象
操作Element对象:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<img id="img1" src="img/3.jpg">
<h1 id="title">标题1111111h1>
<script>
//通过id获取元素对象
var img1 = document.getElementById("img1");
alert("我要换图片了。。。");
img1.src = "img/4.jpg";
//1. 获取h1标签对象
var title = document.getElementById("title");
alert("我要换内容了");
//2. 修改内容
title.innerHTML = "标题2222222";
script>
body>
html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>事件绑定title>
head>
<body>
<img id="img1" src="img/3.jpg" onclick="fun();">
<img id="img2" src="img/3.jpg">
<script>
<!--第一种方式-->
function fun() {
alert('我被点了');
}
<!--第二种方式-->
//1. 获取 light2 对象
var img2 = document.getElementById("img2");
//2. 绑定事件
img2.onclick = fun;
script>
body>
html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>电灯开关title>
head>
<body>
<img id="img1" src="img/3.jpg">
<script>
/*
分析:
1. 获取图片对象
2. 绑定单击事件
3. 每次点击切换图片
* 规则:
* 如果是图片1,切换为图片2
* 如果是图片2,切换为图片1
* 使用标记 flag 来完成
*/
var image = document.getElementById("img1");
var flag = false; //代表灯是灭的
image.onclick = function () {
if (flag) { //如果是图片1,则换成图片2
image.src = "img/4.jpg"
flag = false;
} else {
//如果是图片2,则换成图片1
image.src = "img/3.jpg"
flag = true;
}
}
script>
body>
html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<input id="openBtn" type="button" value="打开窗口">
<input id="closeBtn" type="button" value="关闭窗口">
<script>
/*
Window: 窗口对象
1. 创建
2. 方法
1. 与弹出框有关的方法:
alert() 显示带有一段消息和一个确认按钮的警告框
confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框
* 如果用户点击确定按钮,则方法返回true
* 如果用户点击取消按钮,则方法返回false
prompt() 显示可提示用户输入的对话框
* 返回值:获取用户输入的值
2. 与打开、关闭有关的方法:
close() 关闭浏览器窗口
* 谁调用我,我关谁
open() 打开一个新的浏览器窗口
* 返回一个新的Window对象
3. 与定时器有关的方法:
setTimeout() 在指定的毫秒数后调用函数或计算表达式
* 参数:
1. js代码或者方法对象
2. 毫秒值
* 返回值:唯一标识,用于取消定时器
clearTimeout() 取消由 setTimeout() 方法设置的timeout
3. 属性
1. 获取其他BOM对象
history
location
Navigator
Screen
2. 获取DOM对象
document
4. 特点
* Window对象不需要创建可以直接使用 window使用,window.方法名();
* window引用可以省略。 方法名();
*/
/**
* 1. 弹出方法
*/
alert("hello window");
// 等价于:window.alert("hello a");
var flag = confirm("你确定要退出吗?");
if (flag) {
//退出操作
alert("欢迎再次光临!");
} else {
//提示:手别抖
alert("手别抖");
}
/**
* 2. 打开、关闭方法
* @type {string}
*/
//输入框
var res = prompt("请输入用户名:");
alert(res); //弹出用户输入的信息(用户名)
//打开新窗口
var openBtn = document.getElementById("openBtn");
var newWindow;
openBtn.onclick = function () {
//打开新窗口
newWindow = open("https://cn.bing.com");
}
var closeBtn = document.getElementById("closeBtn");
closeBtn.onclick = function () {
//关闭新窗口
newWindow.close();
}
/**
* 3. 定时器方法
*/
//一次性定时器
var id = setTimeout(fun, 2000);
clearTimeout(id);
function fun() {
alert("boom~~");
}
//循环定时器
var id = setInterval(fun, 2000); //2秒炸一次
clearTimeout(id);
/**
* 4. 属性(window可省略)
*/
//获取history,获取当前页面的历史记录
var h1 = window.history;
var h2 = history;
//获取Dom对象
window.document.getElementById("");
document.getElementById("");
script>
body>
html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轮播图title>
head>
<body>
<img id="img" src="img/bg_1.jpeg" width="700dp" height="500dp">
<script>
/*
分析:
1. 在页面上使用img标签展示图片
2. 定义一个方法,修改图片的src属性
3. 定义一个定时器,每隔3秒调用方法一次
*/
//修改图片的src属性
var num = 0;
function fun() {
num++;
var img = document.getElementById("img");
img.src = "img/bg_" + num % 3 + ".jpeg"; //1%3=1,2%3=2,3%3=0
}
//定义定时器
setInterval(fun, 1000);
script>
body>
html>
效果:
点击刷新按钮,会刷新页面,并重新弹出href
代码:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Locationtitle>
head>
<body>
<input type="button" id="btn" value="刷新">
<input type="button" id="goBing" value="去必应">
<script>
//reload方法,定义一个按钮,点击按钮,刷新当前页面
//1. 获取按钮
var btn = document.getElementById("btn");
//2. 绑定单机事件
btn.onclick = function () {
//3. 刷新页面
location.reload();
}
//获取href
//var href = location.href;
//alert(href);
//点击按钮,去访问https://cn.bing.com官网
//1. 获取按钮
var goBing = document.getElementById("goBing");
//2. 绑定单机事件
goBing.onclick = function () {
//3. 刷新页面
location.href = "https://cn.bing.com";
}
script>
body>
html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自动跳转title>
<style>
p {
text-align: center;
}
span {
color: red;
}
style>
head>
<body>
<p>
<span id="time">5span>秒之后,自动跳转到首页...
p>
<script>
/*
分析:
1. 显示页面效果 、
2. 倒计时读秒效果实现
1. 定义一个方法,获取span标签,修改span标签体的内容:时间--
2. 定义一个定时器,1秒执行一次该方法
3. 在方法中判断,时间如果<=0,则跳转到首页
*/
// 2. 倒计时读秒效果实现
var second = 5;
var time = document.getElementById("time");
function showTime() {
second--;
if (second <= 0) {
location.href = "https://cn.bing.com";
}
time.innerHTML = second + ""; //变成字符串类型的
}
//设置定时器,1秒执行一次该方法
setInterval(showTime, 1000);
script>
body>
html>
back()
加载 history 列表中的前一个 URL。forward()
加载 history 列表中的下一个 URL。go()
加载 history 列表中的某个具体页面。DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<input type="button" id="btn" value="获取历史记录个数">
<a href="https://cn.bing.com">必应a>
<input type="button" id="forward" value="前进">
<script>
/*
1. length 属性
*/
//1. 获取按钮
var btn = document.getElementById("btn");
//2. 绑定单机事件
btn.onclick = function () {
//3. 获取历史记录的个数
var length = history.length;
alert(length);
}
/*
2. 方法
*/
//1. 获取按钮
var forward = document.getElementById("forward");
//2. 绑定单机事件
forward.onclick = function () {
//3. 前进方法,前进到下一个页面去
// 等价于history.forward();
history.go(1);
}
script>
body>
html>
history对象2:方法back和go
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轮播图title>
head>
<body>
<img id="img" src="img/bg_1.jpeg" width="700dp" height="500dp">
<input type="button" id="back" value="后退">
<script>
/*
分析:
1. 在页面上使用img标签展示图片
2. 定义一个方法,修改图片的src属性
3. 定义一个定时器,每隔3秒调用方法一次
*/
//修改图片的src属性
var num = 0;
function fun() {
num++;
//获取img对象
var img = document.getElementById("img");
img.src = "img/bg_" + num % 3 + ".jpeg"; //1%3=1,2%3=2,3%3=0
}
//定义定时器
setInterval(fun, 1000);
//1. 获取按钮
var back = document.getElementById("back");
//2. 绑定单机事件
back.onclick = function () {
//后退
//history.back();等价于
history.go(-1);
}
script>
body>
html>
Document:文档元素
getElementById()
根据id属性值获取元素对象。id 属性值一般唯一。getElementsByTagName()
根据元素名称获取元素对象们。返回值是一个数组。getElementsByClassName()
根据Class的属性值获取元素对象们。返回值是一个数组。getElementsByName()
根据name属性值获取元素对象们。返回值是一个数组。createAttribute(name)
createComment()
createElement()
createTextNode()
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<div id="div1">div1div>
<div id="div2">div2div>
<div id="div3">div3div>
<div class="cls1">div4div>
<div class="cls2">div5div>
<input type="text" name="username">
<script>
//2.根据元素名称获取元素对象们。返回值是一个数组
var divs = document.getElementsByTagName("div");
alert("getElementsByTagName:" + divs.length);
//3.根据Class属性值获取元素对象们。返回值是一个数组
var div_cls = document.getElementsByClassName("cls1");
alert("getElementsByClassName:" + div_cls.length);
//4.根据name属性值获取元素对象们。返回值是一个数组
var ele_username = document.getElementsByName("username");
alert("getElementsByName:" + ele_username.length);
//创建一个table标签,但是看不到效果,只能看到它是一个HTMLTable元素对象
var table = document.createElement("table");
alert(table);
script>
body>
html>
Element: 元素对象
获取/创建:通过document对象来获取和创建
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<a>点我试一试a>
<input type="button" id="btn_set" value="设置属性">
<input type="button" id="btn_remove" value="删除属性">
<script>
//获取btn
var btn_set = document.getElementById("btn_set");
btn_set.onclick = function () {
//1.获取a标签
var element_a = document.getElementsByTagName("a")[0];
element_a.setAttribute("href", "https://www.baidu.com");
}
//获取btn
var btn_remove = document.getElementById("btn_remove");
btn_remove.onclick = function () {
//1.获取a标签
var element_a = document.getElementsByTagName("a")[0];
element_a.removeAttribute("href");
}
script>
body>
html>
Node: 节点对象,其他5个的父对象
实现效果:
初始效果:
点击删除子节点:
点击添加子节点
代码
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
<style>
div {
border: 1px solid red;
}
#div1 {
width: 200px;
height: 200px;
}
#div2 {
width: 100px;
height: 100px;
}
#div3 {
width: 100px;
height: 100px;
}
style>
head>
<body>
<div id="div1">
<div id="div2">div2div>
div1
div>
<a href="javascript:void(0);" id="del">删除子节点a>
<a href="javascript:void(0);" id="add">添加子节点a>
<script>
/*
删除子节点
*/
//1. 获取超链接
var element_a = document.getElementById("del");
//2. 绑定单机事件
element_a.onclick = function () {
var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");
//删除子节点
div1.removeChild(div2);
}
/*
超链接功能:
1. 可以被点击:样式
2. 点击后跳转到href指定的url
需求:保留功能1,去掉功能2
实现:href = "javascript:void(0);",注销掉跳转功能
*/
/*
添加子节点
*/
//1. 获取超链接
var element_add = document.getElementById("add");
//2. 绑定单机事件
element_add.onclick = function () {
var div1 = document.getElementById("div1");
//给div1添加子节点
//创建div节点
var div3 = document.createElement("div");
div3.setAttribute("id", "div3");
div1.appendChild(div3);
}
script>
body>
html>
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动态表格title>
<style>
table {
border: 1px solid;
margin: auto;
width: 500px;
}
td, th {
text-align: center;
border: 1px solid;
}
div {
text-align: center;
margin: 50px;
}
style>
head>
<body>
<div>
<input type="text" id="id" placeholder="请输入编号">
<input type="text" id="name" placeholder="请输入姓名">
<input type="text" id="gender" placeholder="请输入性别">
<input type="button" value="添加" id="btn_add">
div>
<table>
<caption>学生信息表caption>
<tr>
<th>编号th>
<th>姓名th>
<th>性别th>
<th>操作th>
tr>
<tr>
<td>1td>
<td>令狐冲td>
<td>男td>
<td><a href="javascript:void(0);" onclick="delTr(this);">删除a>td>
tr>
<tr>
<td>2td>
<td>任我行td>
<td>男td>
<td><a href="javascript:void(0);" onclick="delTr(this);">删除a>td>
tr>
<tr>
<td>3td>
<td>岳不群td>
<td>?td>
<td><a href="javascript:void(0);" onclick="delTr(this);">删除a>td>
tr>
table>
<script>
/*
分析:
1.添加:
1. 给添加按钮绑定单击事件
2. 获取文本框的内容
3. 创建td,设置td的文本为文本框的内容。
4. 创建tr
5. 将td添加到tr中
6. 获取table,将tr添加到table中
2.删除:
1.确定点击的是哪一个超链接
删除
2.怎么删除?
removeChild():通过父节点删除子节点
*/
//1. 获取按钮,绑定单机事件
document.getElementById("btn_add").onclick = function () {
//2. 获取文本框内容
var id = document.getElementById("id").value;
var name = document.getElementById("name").value;
var gender = document.getElementById("gender").value;
//3. 创建td,赋值td的标签体
//(1).id 的 td
var td_id = document.createElement("td");//创建td
var text_id = document.createTextNode(id);//创建一个文本节点text_id
td_id.appendChild(text_id);//把文本节点放在里面
//(2).name 的 td
var td_name = document.createElement("td");
var text_name = document.createTextNode(name);
td_name.appendChild(text_name);
//(3).gender 的 td
var td_gender = document.createElement("td");
var text_gender = document.createTextNode(gender);
td_gender.appendChild(text_gender);
//(4).a标签 的 td
var td_a = document.createElement("td");
var ele_a = document.createElement("a");
//设置a标签的属性javascript:void(0);和delTr(this)
ele_a.setAttribute("href", "javascript:void(0);");
ele_a.setAttribute("onclick", "delTr(this);");
var text_a = document.createTextNode("删除");//创建一个文本节点
ele_a.appendChild(text_a);//把文本节点加入到a标签里面
td_a.appendChild(ele_a);//把a标签加入到td里面
//4. 创建 tr
var tr = document.createElement("tr");
//5. 添加 td 到 tr 中
tr.appendChild(td_id);
tr.appendChild(td_name);
tr.appendChild(td_gender);
tr.appendChild(td_a);
//6. 获取table(就一个table,根据标签名称获取)
var table = document.getElementsByTagName("table")[0];
table.appendChild(tr);
}
//删除
function delTr(obj) {
//参数 obj/this 代表当前的超链接对象/当前的a标签
//通过a标签,获取它的父节点td,再获取它的父节点tr(获取两次),获取第三次是table
var table = obj.parentNode.parentNode.parentNode;
var tr = obj.parentNode.parentNode;
table.removeChild(tr);
}
script>
body>
html>
HTML标签体的设置和获取:innerHTML
使用:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HTMLDOMtitle>
head>
<body>
<div id="div1">
div_text
div>
<script>
//1. 获取标签体
var div = document.getElementById("div1");
var innerHTML = div.innerHTML;
// alert(innerHTML);
//2. div标签中替换一个文本输入框(把"div_text"变成了文本输入框)
div.innerHTML = "";
//3. div标签中追加一个文本输入框
div.innerHTML += ""
script>
body>
html>
动态表格的添加操作:
<script>
//使用innerHTML添加
//1. 获取按钮,绑定单机事件
document.getElementById("btn_add").onclick = function () {
//2. 获取文本框内容
var id = document.getElementById("id").value;
var name = document.getElementById("name").value;
var gender = document.getElementById("gender").value;
//3. 获取table(就一个table,根据标签名称获取)
var table = document.getElementsByTagName("table")[0];
//4. 追加一行
table.innerHTML += "\n" +
" " + id + " \n" +
" " + name + " \n" +
" " + gender + " \n" +
" 删除 \n" +
" ";
}
script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>控制样式</title>
<style>
.d1 {
border: 1px solid red;
width: 100px;
height: 100px;
}
.d2 {
border: 1px solid red;
width: 200px;
height: 200px;
}
</style>
</head>
<body>
<div id="div1">
div1_text
</div>
<div id="div2">
div2_text
</div>
<script>
var div1 = document.getElementById("div1");
//修改样式方式1:使用style的属性设置
div1.onclick = function () {
// style后面加css的属性的键的名称,值就是属性对应的值
div1.style.border = "1px solid red";//1个像素的实线的红色边框
div1.style.width = "200px";//红色边框宽度设为200
//font-size --> fontSize
div1.style.fontSize = "20px";//字的大小
}
//修改样式方式2:通过元素的className属性来设置class属性值
var div2 = document.getElementById("div2");
div2.onclick = function () {
div2.className = "d1";
}
</script>
</body>
</html>