JavaWeb JavaScript

1. JavaScript 介绍

        Javascript 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。
        JS 是 Netscape 网景公司的产品,最早取名为 LiveScript; 为了吸引更多 java 程序员。更名为 JavaScript

        JavaScript 是属于网络的脚本语言!

        JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。

        JavaScript 是因特网上最流行的脚本语言。

        JavaScript 很容易使用!

JS 是弱类型,Java 是强类型。
特点:
        1. 交互性(它可以做的就是信息的动态交互)
        2. 安全性(不允许直接访问本地硬盘)
        3. 跨平台性(只要是可以解释 JS 的浏览器都可以执行,和平台无关)

2. JavaScript 和 html 代码的结合方式

2.1 第一种方式

        只需要在 head 标签中,或者在 body 标签中, 使用 script 标签 来书写 JavaScript 代码

如何把 JavaScript 放入 HTML 页面





上面的代码会在 HTML 页面中产生这样的输出:

Hello World! 

实例解释:

        如果需要把一段 JavaScript 插入 HTML 页面,我们需要使用 就可以告诉浏览器 JavaScript 从何处开始,到何处结束。




        document.write 字段是标准的 JavaScript 命令,用来向页面写入输出。

        把 document.write 命令输入到 之间后,浏览器就会把它当作一条 JavaScript 命令来执行。这样浏览器就会向页面写入 "Hello World!"。





注意:如果我们不使用

JavaWeb JavaScript_第1张图片

2.2 第二种方式

        使用 script 标签引入 单独的 JavaScript 代码文件

使用外部 JavaScript

        有时,你也许希望在若干个页面中运行 JavaScript,同时不在每个页面中写相同的脚本。

        为了达到这个目的,你可以将 JavaScript 写入一个外部文件之中。然后以 .js 为后缀保存这个文件。

注意:外部文件不能包含

提示:您可以把 .js 文件放到网站目录中通常存放脚本的子目录中,这样更容易管理和维护。

注意: script 标签可以用来定义 js 代码,也可以用来引入 js 文件 .但是,两个功能二选一使用。不能同时使用两个功能

代码示例:

js代码:

alert("hello word");

html代码:




    
    2-js与html结合方式2
    
    



JavaWeb JavaScript_第2张图片

 3.JavaScript 语句

JavaScript 语句

JavaScript 语句向浏览器发出的命令。语句的作用是告诉浏览器该做什么。


3.1 JavaScript 语句

        JavaScript 语句是发给浏览器的命令。

        这些命令的作用是告诉浏览器要做的事情。

        下面的 JavaScript 语句向 id="demo" 的 HTML 元素输出文本 "Hello Dolly"

        document.getElementById("demo").innerHTML="Hello Dolly";


3.2 分号 ;

        分号用于分隔 JavaScript 语句。

        通常我们在每条可执行的语句结尾添加分号。

        使用分号的另一用处是在一行中编写多条语句。

        提示:您也可能看到不带有分号的案例。

        在 JavaScript 中,用分号来结束语句是可选的。


3.3 JavaScript 代码

        JavaScript 代码是 JavaScript 语句的序列。

        浏览器按照编写顺序依次执行每条语句。

        本例向网页输出一个标题和两个段落:

实例

document.getElementById("demo").innerHTML="Hello Dolly";
document.getElementById("myDIV").innerHTML="How are you?";


3.4 JavaScript 代码块

        JavaScript 可以分批地组合起来。

        代码块以左花括号开始,以右花括号结束。

        代码块的作用是一并地执行语句序列。

        本例向网页输出一个标题和两个段落:

实例

function myFunction()
{
document.getElementById("demo").innerHTML="Hello Dolly";
document.getElementById("myDIV").innerHTML="How are you?";
}


3.5 JavaScript 对大小写敏感。

        JavaScript 对大小写是敏感的。

        当编写 JavaScript 语句时,请留意是否关闭大小写切换键。

        函数 getElementById 与 getElementbyID 是不同的。

        同样,变量 myVariable 与 MyVariable 也是不同的。


3.6 空格

        JavaScript 会忽略多余的空格。您可以向脚本添加空格,来提高其可读性。下面的两行代码是等效的:

var person="Hege";
var person = "Hege";


3.7 JavaScript 注释

注释作用

        1.JavaScript 不会执行注释。

        2.我们可以添加注释来对 JavaScript 进行解释,或者提高代码的可读性。

JavaScript 单行注释

        单行注释以 // 开头。

实例

// Write to a heading:
document.getElementById("myH1").innerHTML="Welcome to my Homepage";
// Write to a paragraph:
document.getElementById("myP").innerHTML="This is my first paragraph.";


JavaScript 多行注释

        多行注释以 /* 开始,以 */ 结尾。

实例

/*
The code below will write
to a heading and to a paragraph,
and will represent the start of
my homepage:
*/
document.getElementById("myH1").innerHTML="Welcome to my Homepage";
document.getElementById("myP").innerHTML="This is my first paragraph.";

4. JavaScript 变量

4.1 变量名称规则

        正如代数一样,JavaScript 变量用于保存值或表达式。

        可以给变量起一个简短名称,比如 x,或者更有描述性的名称,比如 length

        JavaScript 变量也可以保存文本值,比如 carname="Volvo"

JavaScript 变量名称的规则:

  • 变量对大小写敏感(yY 是两个不同的变量)
  • 变量必须以字母或下划线开始

注释:由于 JavaScript 对大小写敏感,变量名也对大小写敏感。

4.2 声明(创建) JavaScript 变量

        在 JavaScript 中创建变量经常被称为“声明”变量。

通过 var 语句来声明 JavaScript 变量:

        var x;
        var carname;

在以上声明之后,变量并没有值,不过您可以在声明它们时向变量赋值:

        var x=5;
        var carname="Volvo";

注释:在为变量赋文本值时,请为该值加引号。

5.数据类型

JavaScript 的变量类型:
数值类型:         number      只要是数值的都是
字符串类型:         string      ' ' 或 " "的内容
对象类型:         object  
布尔类型:         boolean         只含有true和false
函数类型:         function
JavaScript 里特殊的值:
undefined         未定义,所有 js 变量未赋于初始值的时候,默认值都是 undefined.
null                  空值
NaN                 全称是:Not a Number。非数字。非数值。



    
    3-js变量与数据类型
    



6.运算符

6.1 JavaScript 算术运算符

算术运算符用于执行变量与/或值之间的算术运算。

给定 y=5,下面的表格解释了这些算术运算符:

运算符 描述 例子 结果
+ 加,也可以连接字符串 x=y+2 x=7
- x=y-2 x=3
* x=y*2 x=10
/ x=y/2 x=2.5
% 求系数 (保留整数) x=y%2 x=1
++ 累加 x=++y x=6
-- 递减 x=--y x=4

6.2 JavaScript 赋值运算符

赋值运算符用于给 JavaScript 变量赋值。

给定 x=10y=5,下面的表格解释了赋值运算符:

运算符 例子 等价于 结果
= x=y x=5
+= x+=y x=x+y x=15
-= x-=y x=x-y x=5
*= x*=y x=x*y x=50
/= x/=y x=x/y x=2
%= x%=y x=x%y x=0

6.3 比较运算符

比较运算符在逻辑语句中使用,以测定变量或值是否相等。

给定 x=5,下面的表格解释了比较运算符:

运算符 描述 例子
== 等于 x==8 为 false
=== 全等(值和类型) x===5 为 true;x==="5" 为 false
!= 不等于 x!=8 为 true
> 大于 x>8 为 false
< 小于 x<8 为 true
>= 大于或等于 x>=8 为 false
<= 小于或等于 x<=8 为 true
等于: == 等于是简单的做字面值的比较
全等于: === 除了做字面值的比较之外,还会比较两个变量的数据类型



    
    4-运算符
    



6.4 逻辑运算符

逻辑运算符用于测定变量或值之间的逻辑。

给定 x=6 以及 y=3,下表解释了逻辑运算符:

运算符 描述 例子
&& and (x < 10 && y > 1) 为 true
|| or (x==5 || y==5) 为 false
! not !(x==y) 为 true

注意:

        1.在 JavaScript 语言中,所有的变量,都可以做为一个 boolean 类型的变量去使用。

0 nullundefined””(空串) 都认为是 false
        2.&& 且运算。
        有两种情况:
        第一种:当表达式全为真的时候。返回最后一个表达式的值。
        第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值
        3.|| 或运算
        第一种情况:当表达式全为假时,返回最后一个表达式的值
        第二种情况:只要有一个表达式为真。就会把回第一个为真的表达式的值
        4.&& 与运算 和 ||或运算 有短路。
        短路就是说,当这个&&||运算有结果了之后 。后面的表达式不再执行



    
    4-运算符
    



6.5 条件运算符

JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符。

语法

variablename=(condition)?value1:value2 

例子

greeting=(visitor=="PRES")?"Dear President ":"Dear ";

7. 数组

创建数组

        方式1:

        下面的代码创建名为 cars 的数

        var cars=new Array(); //创建数组
        cars[0]="Saab"; // 给数组赋值
        cars[1]="Volvo";
        cars[2]="BMW";

        

        var cars=new Array("Saab","Volvo","BMW"); // 创建数组并赋上初始值

        方式2 :

        var 数组名 = []; // 空数组

        var 数组名 = [1 , ’abc’ , true]; // 定义数组同时赋值元素

     

注意:javaScript 语言中的数组,只要我们通过数组下标赋值,那么最大的下标值,就会自动的给数组做扩容操作。




    
    5-数组
    




8. 函数

8.1 函数的定义方式

8.1.1 使用 function 关键字来定义函数。

使用的格式如下:
        function 函数名 (形参列表){
                函数体
        }
在 JavaScript 语言中,如何定义带有返回值的函数?
只需要在函数体内直接使用 return 语句返回值即可!

代码示例:




    
    6-使用 function 关键字来定义函数
    




8.1.2 使用var关键字来定义函数

使用格式如下:
var 函数名 = function(形参列表) {
         函数体
};

代码示例:




    
    7-使用var关键字来定义函数
    




8.2 JavaScript函数不能重载

在 Java 中函数允许重载。但是在 JS 中函数的重载会直接覆盖掉上一次的定义。(但也有特例)
代码示例:
 

特例:

1.变量提升:函数声明和变量声明总是会被解释器悄悄地被"提升"到方法体的最顶部。

2.JavaScript初始化不会提升。

        这里var fun中fun变量相当于初始化,不会被提升

        而function fun中fun会被提升

所以在程序预编译时,其顺序应该如下:

8.3 函数的 arguments 隐形参数(只在 function 函数内)

          就是在 function 函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数。
        隐形参数特别像 java 基础的可变长参数一样。
        public void fun( Object ... args );
        可变长参数其他是一个数组。
那么 js 中的隐形参数也跟 java 的可变长参数一样。操作类似数组。
arguments可看成参数数组
 
   

代码示例:




    
    9-函数的 arguments 隐形参数




9. JS 中的自定义对象

9.1 Object 形式的自定义对象

对象的定义:
        var 变量名 = new Object(); // 对象实例(空对象)
        变量名.属性名 = 值; // 定义一个属性
        变量名.函数名 = function(){} // 定义一个函数
对象的访问:
        变量名.属性 / 函数名();
示例代码:



    
    10-Object 形式的自定义对象




JavaWeb JavaScript_第3张图片

 9.2 {}花括号形式的自定义对象

对象的定义:
        var 变量名 = { }// 空对象
        var 变量名 = { //实例对象          注意,在{}中每一个对象之间都要有逗号
                属性名:值,         // 定义一个属性
                属性名:值,         // 定义一个属性
                函数名:function(){} // 定义一个函数
        };
对象的访问:
        变量名.属性 / 函数名();
示例代码:



    
    11-花括号形式的自定义对象




JavaWeb JavaScript_第4张图片

10. 事件

什么是事件?
        事件是电脑输入设备与页面进行交互的响应。我们称之为事件。

10.1 常用的事件

onload 加载完成事件:                    页面加载完成之后,常用于做页面 js 代码初始化操作
onclick 单击事件:                          常用于按钮的点击响应操作。
onblur 失去焦点事件:                    常用用于输入框失去焦点后验证其输入内容是否合法。
onchange内容发生改变事件:        常用于下拉列表和输入框内容发生改变后操作
onsubmit表单提交事件:                常用于表单提交前,验证所有表单项是否合法

10.2 事件的注册

什么是事件的注册(绑定)?
        其实就是告诉浏览器,当事件响应后要执行哪些操作代码,叫事件注册或事件绑定。

10.2.1 静态注册事件

        通过 html 标签的事件属性直接赋于事件响应后的代码,这种方式我们叫静态注册。

10.2.2 动态注册事件

        是指先通过 js 代码得到标签的 dom 对象,然后再通过 dom 对象.事件名 = function(){} 这种形式赋于事件响应后的代码,叫动态注册。

动态注册基本步骤: (格式)  
  window.onload = function (ev) {
1、获取标签对象

          //getElementById 通过 id 属性获取标签对象
         var 所获取的标签对象名= document.getElementById("所作用的id名");
2、标签对象.事件名 = fucntion(){}
         标签对象.事件名 = fucntion(){
                代码段;
        }
        
}
        

10.3 onload 事件

10.3.1 onload 事件静态注册

onload 加载完成事件:页面加载完成之后,常用于做页面 js 代码初始化操作

方式用代码演示:




    
    1.onload事件-静态注册
    




JavaWeb JavaScript_第5张图片

10.3.2 onload 事件动态注册




    
    2.onload事件-动态注册
    



JavaWeb JavaScript_第6张图片

10.4 onclick单击事件 

onclick 单击事件:常用于按钮的点击响应操作。




    
    2.onclick事件
    










JavaWeb JavaScript_第7张图片

10.5 onblur 失去焦点事件

onblur 失去焦点事件:常用于输入框失去焦点后验证其输入内容是否合法。




    
    3.onblur事件
    


    用户名:
密码:

JavaWeb JavaScript_第8张图片

10.6 onchange事件

onchange内容发生改变事件:        常用于下拉列表和输入框内容发生改变后操作




    
    6.onchange事件
    


文本框内容:
下拉框内容:

JavaWeb JavaScript_第9张图片

JavaWeb JavaScript_第10张图片

10.7 onsubmit 事件

onsubmit 表单提交事件:常用于表单提交前,验证所有表单项是否合法。



    
    5.onsubmit事件
    



JavaWeb JavaScript_第11张图片

 11. 正则表达式

11.1 RegExp 对象

        正则表达式是描述字符模式的对象。

        正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。

11.2 语法

创建表达式:

var patt=new RegExp(pattern,modifiers);
或者更简单的方式:
var patt=/pattern/modifiers;

  • pattern(模式) 描述了表达式的模式
  • modifiers(修饰符) 用于指定全局匹配、区分大小写的匹配和多行匹配

用表达式检查字符串:

patt.test(str);

若str满足patt,则返回true

若str不满足patt,则返回false

11.3 修饰符

修饰符用于执行区分大小写和全局匹配:

修饰符 描述
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。(默认)
m 执行多行匹配。

11.4 方括号

方括号用于查找某个范围内的字符:

表达式 描述
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项。

11.5 元字符

元字符(Metacharacter)是拥有特殊含义的字符:

元字符 描述
. 查找单个字符,除了换行和行结束符。
\w 查找单词字符。(字母,数字,下划线)
\W 查找非单词字符。
\d 查找数字。
\D 查找非数字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 匹配单词边界。
\B 匹配非单词边界。
\0 查找 NUL 字符。
\n 查找换行符。
\f 查找换页符。
\r 查找回车符。
\t 查找制表符。
\v 查找垂直制表符。
\xxx 查找以八进制数 xxx 规定的字符。
\xdd 查找以十六进制数 dd 规定的字符。
\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

11.6 量词

量词 描述
n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串。
n? 匹配任何包含零个或一个 n 的字符串。
n{X} 匹配包含 X 个 n 的序列的字符串。
n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。
n{X,} 匹配包含至少 X 个 n 的序列的字符串。
n$ 匹配任何结尾为 n 的字符串。
^n 匹配任何开头为 n 的字符串。
?=n 匹配任何其后紧接指定字符串 n 的字符串。
?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

11.7 RegExp 对象方法

方法 描述 FF IE
compile 编译正则表达式。 1 4
exec 检索字符串中指定的值。返回找到的值,并确定其位置。 1 4
test 检索字符串中指定的值。返回 true 或 false。 1 4

11.8 支持正则表达式的 String 对象的方法

方法 描述 FF IE
search 检索与正则表达式相匹配的值。 1 4
match 找到一个或多个正则表达式的匹配。 1 4
replace 替换与正则表达式匹配的子串。 1 4
split 把字符串分割为字符串数组。 1 4

11.9 代码示例




    
    12-正则表达式




12. DOM 模型

        DOM 全称是 Document Object Model 文档对象模型
        大白话,就是把文档中的标签,属性,文本,转换成为对象来管理。
       

12.1 、Document 对象

 JavaWeb JavaScript_第12张图片

Document 对象的理解:
        第一点:Document 它管理了所有的 HTML 文档内容。
        第二点:document 它是一种树结构的文档。有层级关系。
        第三点:它让我们把所有的标签 都 对象化
        第四点:我们可以通过 document 访问所有的标签对象。
什么是对象化??
举例:
有一个人有年龄: 18 岁,性别:女,名字:张某某
Class Person {
         private int age;
        private String sex;
        private String name;
}
那么 html 标签 要 对象化 怎么办?
< body >
        < div id = "div01" > div01 div >
body >
模拟div标签对象化,相当于:
class Dom{
        private String id; // id 属性
        private String tagName; //表示标签名
        private Dom parentNode; //父标签
        private List children; // 孩子结点
        private String innerHTML; // 起始标签和结束标签中间的内容
}

12.2 Document 对象中的方法介绍

document.getElementById(elementId)
        通过标签的 id 属性查找标签 dom 对象,elementId 是标签的 id 属性值
document.getElementsByName(elementName)
        通过标签的 name 属性查找标签 dom 对象,elementName 标签的 name 属性值
document.getElementsByTagName(tagname)
        通过标签名查找标签 dom 对象。tagname 是标签名
document.createElement( tagName)
        方法,通过给定的标签名,创建一个标签对象。tagName 是要创建的标签名

注:
document 对象的三个查询方法,
        如果有 id 属性,优先使用 getElementById 方法来进行查询
        如果没有 id 属性,则优先使用 getElementsByName 方法来进行查询
        如果 id 属性和 name 属性都没有最后再按标签名查 getElementsByTagName
以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象。

12.2.1 getElementById方法代码演示

通过标签的 id 属性查找标签 dom 对象,elementId 是标签的 id 属性值

需求:当用户点击了较验按钮,要获取输出框中的内容。然后验证其是否合法。
验证的规则是:必须由字母,数字。下划线组成。并且长度是 5 12 位。



    
    1.getElementById方法
    
    


    
用户名:
密码:

JavaWeb JavaScript_第13张图片

12.2.2 getElementsByName 方法示例代码

document.getElementsByName(elementName)
        通过标签的 name 属性查找标签 dom 对象,elementName 标签的 name 属性值
返回带有指定名称的对象集合



    
    2.getElementsByName方法
    


兴趣爱好: java C++ C python php

JavaWeb JavaScript_第14张图片

 12.2.3 getElementsByTagName 方法示例代码

document.getElementsByTagName(tagname)
        通过标签名查找标签 dom 对象。tagname 是标签名
getElementsByTagName() 返回带有指定标签名对象集合



    
    3.getElementsByTagName方法
    


    兴趣爱好:
    java
    C++
    C
    python
    php
    

JavaWeb JavaScript_第15张图片

 12.2.4 createElement 方法示例代码

document.createElement( tagName)

        方法,通过给定的标签名,创建一个标签对象。tagName 是要创建的标签名

需求:使用 js 代码来创建 html 标签,并显示在页面上 标签的内容就是:

hello world

方式1:




    
    4.createElement方法
    



方式2:




    
    4.createElement方法
    



JavaWeb JavaScript_第16张图片

12.3 节点的常用属性和方法

节点就是标签对象

方法:
通过具体的元素节点调用:
getElementsByTagName()
方法,获取当前节点的指定标签名孩子节点
appendChild( oChildNode )
方法,可以添加一个子节点,oChildNode 是要添加的孩子节点
属性:
childNodes 属性,获取当前节点的所有子节点
firstChild 属性,获取当前节点的第一个子节点
lastChild 属性,获取当前节点的最后一个子节点
parentNode 属性,获取当前节点的父节点
nextSibling 属性,获取当前节点的下一个节点
previousSibling 属性,获取当前节点的上一个节点
className 用于获取或设置标签的 class 属性值
innerHTML 属性,表示获取/设置起始标签和结束标签中的内容(含代码)
innerText 属性,表示获取/设置起始标签和结束标签中的文本(只有文本,不含代码)

12.4 练习

题目:

html代码:





dom查询




你喜欢哪个城市?

  • 北京
  • 上海
  • 东京
  • 首尔


你喜欢哪款单机游戏?

  • 红警
  • 实况
  • 极品飞车
  • 魔兽


你手机的操作系统是?

  • IOS
  • Android
  • Windows Phone
gender: Male Female

name:

css代码:

@CHARSET "UTF-8";

body {
	width: 800px;
	margin-left: auto;
	margin-right: auto;
}

button {
	width: 300px;
	margin-bottom: 10px;
}

#btnList {
	float:left;
}

#total{
	width: 450px;
	float:left;
}

ul{
	list-style-type: none;
	margin: 0px;
	padding: 0px;
}

.inner li{
	border-style: solid;
	border-width: 1px;
	padding: 5px;
	margin: 5px;
	background-color: #99ff99;
	float:left;
}

.inner{
	width:400px;
	border-style: solid;
	border-width: 1px;
	margin-bottom: 10px;
	padding: 10px;
	float: left;
}

js代码(题目):

window.onload = function(){
		//1.查找#bj节点
        var btn01Ele = document.getElementById("btn02");
		btn02Ele.onclick = function(){
			
		
		//2.查找所有li节点
		var btn02Ele = document.getElementById("btn02");
		btn02Ele.onclick = function(){
			
		};
		//3.查找name=gender的所有节点
		var btn03Ele = document.getElementById("btn03");
		btn03Ele.onclick = function(){
			
		};
		//4.查找#city下所有li节点
		var btn04Ele = document.getElementById("btn04");
		btn04Ele.onclick = function(){
			
		};
		//5.返回#city的所有子节点
		var btn05Ele = document.getElementById("btn05");
		btn05Ele.onclick = function(){
			
		};
		//6.返回#phone的第一个子节点
		var btn06Ele = document.getElementById("btn06");
		btn06Ele.onclick = function(){
			
		};
		//7.返回#bj的父节点
		var btn07Ele = document.getElementById("btn07");
		btn07Ele.onclick = function(){
			
		};
		//8.返回#android的前一个兄弟节点
		var btn08Ele = document.getElementById("btn08");
		btn08Ele.onclick = function(){
			
		};
		//9.读取#username的value属性值
		var btn09Ele = document.getElementById("btn09");
		btn09Ele.onclick = function(){
			
		};
		//10.设置#username的value属性值
		var btn10Ele = document.getElementById("btn10");
		btn10Ele.onclick = function(){
			
		};
		//11.返回#bj的文本值
		var btn11Ele = document.getElementById("btn11");
		btn11Ele.onclick = function(){
			
		};

答案:

window.onload = function(){
    //1.查找#bj节点
    var btn01Ele = document.getElementById("btn01");
    btn01Ele.onclick = function () {
        var bj = document.getElementById("bj");
        alert(bj.innerHTML);
    };

    //2.查找所有li节点个数
    var btn02Ele = document.getElementById("btn02");
    btn02Ele.onclick = function(){
        var lis = document.getElementsByTagName("li");
        alert(lis.length);
    };
    //3.查找name=gender的所有节点个数
    var btn03Ele = document.getElementById("btn03");
    btn03Ele.onclick = function(){
        var genders = document.getElementsByName("gender");
        alert(genders.length);
    };
    //4.查找#city下所有li节点个数
    var btn04Ele = document.getElementById("btn04");
    btn04Ele.onclick = function(){
        var cityLis = document.getElementById("city").getElementsByTagName("li");
        alert(cityLis.length)
    };
    //5.返回#city的所有子节点的个数
    var btn05Ele = document.getElementById("btn05");
    btn05Ele.onclick = function(){
        var ctiyChildNodes = document.getElementById("city").childNodes.length;
        alert(ctiyChildNodes);
    };
    //6.返回#phone的第一个子节点
    var btn06Ele = document.getElementById("btn06");
    btn06Ele.onclick = function(){
        var firstChild = document.getElementById("phone").firstChild.innerHTML;
        alert(firstChild);
    };
    //7.返回#bj的父节点
    var btn07Ele = document.getElementById("btn07");
    btn07Ele.onclick = function(){
        var innerHTML = document.getElementById("bj").parentNode.innerHTML;
        alert(innerHTML);
    };
    //8.返回#android的前一个兄弟节点
    var btn08Ele = document.getElementById("btn08");
    btn08Ele.onclick = function(){
        alert(document.getElementById("android").previousSibling.innerHTML);
    };
    //9.读取#username的value属性值
    var btn09Ele = document.getElementById("btn09");
    btn09Ele.onclick = function(){
        alert(document.getElementById("username").value)
    };
    //10.设置#username的value属性值
    var btn10Ele = document.getElementById("btn10");
    btn10Ele.onclick = function(){
        alert(document.getElementById("username").value = "321abc")
    };
    //11.返回#bj的文本值
    var btn11Ele = document.getElementById("btn11");
    btn11Ele.onclick = function(){
        alert(document.getElementById("city").innerHTML);
    };
};

你可能感兴趣的:(Java,#,JavaWeb,javascript,前端,开发语言)