Javascript 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。JS 是 Netscape 网景公司的产品,最早取名为 LiveScript; 为了吸引更多 java 程序员。更名为 JavaScript 。JavaScript 是属于网络的脚本语言!
JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。
JavaScript 是因特网上最流行的脚本语言。
JavaScript 很容易使用!
JS 是弱类型,Java 是强类型。特点:1. 交互性(它可以做的就是信息的动态交互)2. 安全性(不允许直接访问本地硬盘)3. 跨平台性(只要是可以解释 JS 的浏览器都可以执行,和平台无关)
如何把 JavaScript 放入 HTML 页面
<script type="text/javascript"> document.write("Hello World!"); script>上面的代码会在 HTML 页面中产生这样的输出:
Hello World!实例解释:
如果需要把一段 JavaScript 插入 HTML 页面,我们需要使用 就可以告诉浏览器 JavaScript 从何处开始,到何处结束。
<script type="text/javascript"> ... script>document.write 字段是标准的 JavaScript 命令,用来向页面写入输出。
把 document.write 命令输入到 之间后,浏览器就会把它当作一条 JavaScript 命令来执行。这样浏览器就会向页面写入 "Hello World!"。
<script type="text/javascript"> document.write("Hello World!"); script>注意:如果我们不使用
代码示例:
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>9-函数的 arguments 隐形参数title>
- head>
- <body>
- <script type="text/javascript">
- function fun(a) {
- document.write(a);
- //document.write 字段是标准的 JavaScript 命令,用来向页面写入输出。
-
- //arguments为参数数组
- for (var i = 0; i < arguments.length; i++) {
- document.write(arguments[i]);
- }
- }
-
- fun(1);//11
- fun(1, null, 3); //11null3
- fun(0, 2 * "a", "aba", "aaa", false); //00NaNabaaaafalse
-
- // 需求:要求 编写 一个函数。用于计算所有参数相加的和并返回
- function sum(num1, num2) {
- var result = 0;
- for (var i = 0; i < arguments.length; i++) {
- if(typeof(arguments[i]) == "number")
- result += arguments[i];
- }
- return result;
- }
-
- alert(sum(1,5,9,5,1)); //21
-
- script>
- body>
- html>
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>10-Object 形式的自定义对象title>
- head>
- <body>
- <script type="text/javascript">
- var obj = Object(); // 实例一个对象
- obj.name = "张三"; //定义一个对象属性值
- obj.age = 18; //定义一个对象属性值
- obj.fun = function(){ //定义一个函数
- document.write("名字:"+this.name+" 年龄:"+this.age);
- };
- //访问对象
- obj.fun();
- script>
- body>
- html>

- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>11-花括号形式的自定义对象title>
- head>
- <body>
- <script type="text/javascript">
- //示例对象
- var obj = {
- name: "李四", //定义一个属性
- age:19, //定义一个属性
- fun:function () { //定义一个函数
- document.write("名字:"+this.name+" 年龄:"+this.age)
- }
- };
-
- //访问对象
- obj.fun();
- script>
- body>
- html>

通过 html 标签的事件属性直接赋于事件响应后的代码,这种方式我们叫静态注册。
是指先通过 js 代码得到标签的 dom 对象,然后再通过 dom 对象.事件名 = function(){} 这种形式赋于事件响应后的代码,叫动态注册。
window.onload = function (ev) {1、获取标签对象
//getElementById 通过 id 属性获取标签对象var 所获取的标签对象名= document.getElementById("所作用的id名");2、标签对象.事件名 = fucntion(){}标签对象.事件名 = fucntion(){代码段;}}
onload 加载完成事件:页面加载完成之后,常用于做页面 js 代码初始化操作
方式用代码演示:
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>1.onload事件-静态注册title>
- <script type="text/javascript">
- //定义onload事件的方法
- function onloadFun(){
- alert("静态注册onload事件")
- }
- script>
- head>
- <body onload = "onloadFun();">
- body>
- html>

- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>2.onload事件-动态注册title>
- <script type="text/javascript">
- // 动态注册onload事件
- window.onload = function (ev) {
- alert("动态注册onload事件");
- }
-
- script>
- head>
- <body id="body01">
- body>
- html>

onclick 单击事件:常用于按钮的点击响应操作。
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>2.onclick事件title>
- <script type="text/javascript">
- // 静态注册
- function onclikcFun() {
- alert("按钮1已被点击!");
- }
-
- // 动态注册
- window.onload = function (ev) {
- // 1.获取标签对象
- var button01 = document.getElementById("button01");
-
- // 2.用标签对象执行函数
- button01.onclick = function () {
- alert("按钮2已被点击!");
- };
- }
- script>
- head>
- <body>
- <button onclick="onclikcFun()">按钮1button>
-
- <button id="button01">按钮2button>
-
- body>
- html>

onblur 失去焦点事件:常用于输入框失去焦点后验证其输入内容是否合法。
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>3.onblur事件title>
- <script type="text/javascript">
- //静态注册
- function onblurFun(){
- // console 是控制台对象,是由JavaScript语言提供,
- // 专门用来想浏览器的控制器打印输出,用于测试用
- // log() 是打印的方法
- console.log("静态注册失去焦点事件!");
- }
-
- //动态注册
- window.onload =function (ev) {
- //获取标签对象
- var password01 = document.getElementById("password01");
- password01.onblur = function () {
- console.log("动态注册失去焦点事件!")
- }
- }
- script>
- head>
- <body>
- 用户名:<input type="text" name="username" onblur="onblurFun();"/><br/>
- 密码:<input type="password" name="password" id="password01"/>
- body>
- html>

onchange内容发生改变事件: 常用于下拉列表和输入框内容发生改变后操作
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>6.onchange事件title>
- <script type="text/javascript">
- // 静态注册
- function onchangeFun() {
- alert("文本框内容已改变!!")
- }
-
- //动态注册
- window.onload = function (ev) {
- var select01 = document.getElementById("select01");
- select01.onchange = function () {
- alert("下拉框内容已改变!!!")
- };
- }
- script>
- head>
- <body>
- <form>
- 文本框内容:<input type="text" onchange="onchangeFun();"/><br/>
- 下拉框内容:<select id="select01">
- <option>国籍option>
- <option>中国option>
- <option>美国option>
- <option>英国option>
- select>
- form>
- body>
- html>


- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>5.onsubmit事件title>
- <script type="text/javascript ">
- //静态注册
- function onsubmitFun() {
- // 要验证所有表单项是否合法,如果,有一个不合法就阻止表单提交
- if (true) {//"判断表单内容是否合法"
- alert("表单内容合法");
- return true;
- }else{
- alert("表单内容不合法,注册失败!");
- return false;
- }
- }
- //动态注册
- window.onload= function (ev) {
- var form01 = document.getElementById("form01");
- form01.onsubmit = function () {
- // 要验证所有表单项是否合法,如果,有一个不合法就阻止表单提交
- if (false) {//"判断表单内容是否合法"
- alert("表单内容合法");
- return true;
- }else{
- alert("表单内容不合法,注册失败!");
- return false;
- }
- }
- }
-
-
- script>
- head>
- <body>
- <form action="../../html学习/10-表单标签4-注册成功页面.html" method="post" onsubmit="return onsubmitFun();">
- <input type="submit" value="静态注册"/>
- form>
- <form action="../../html学习/10-表单标签4-注册成功页面.html" method="post" id="form01">
- <input type="submit" value="动态注册"/>
- form>
- body>
- html>

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 对象方法
11.8 支持正则表达式的 String 对象的方法
方法 描述 FF IE search 检索与正则表达式相匹配的值。 1 4 match 找到一个或多个正则表达式的匹配。 1 4 replace 替换与正则表达式匹配的子串。 1 4 split 把字符串分割为字符串数组。 1 4
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>12-正则表达式title>
- head>
- <script type="text/javascript">
- // 创建正则表达式1:表示要求字符串中,是否包含字母e
- var patt1 = new RegExp("e");
- // alert(patt1);// /e/:也是正则表达式对象
- var patt2 = /e/;
- // alert(patt2); // /e/
-
- var str1 = "abcd";
- var str2 = "abcde";
- // alert(patt2.test(str1)); //false
- // alert(patt2.test(str2)); //true
-
- //表示要求字符串是否包含a或b或c
- var patt3 = /[abc]/;
- var str3 = "135da123";
- var str4 = "123456";
- // alert(patt3.test(str3)); //true
- // alert(patt3.test(str4)); //false
-
- //表示要求字符串是否包含小写字母
- var patt4 = /[a-z]/;
- str5 = "132456aA";
- str6 = "132456A";
- // alert(patt4.test(str5)); //true
- // alert(patt4.test(str6)); //false
-
- //表示要求字符串是否包含大写写字母
- var patt5 = /[A-Z]/;
- //表示要求字符串是否包含英文字母
- var patt6 = /[A-z]/;
-
- // 表示要求字符串中是否包含字母、数字、下划线
- var patt7 = /\w/;
- var str7 = "[]";
- var str8 = "[1]";
- var str9 = "[_]";
- // alert(patt7.test(str7)); //false
- // alert(patt7.test(str8)); //true
- // alert(patt7.test(str9)); //true
-
- // 表示要求字符串中是否包含至少一个a
- var patt8 = /a+/;
- var str10 = '12315a324aaa';
- var str11 = '123154324';
- // alert(patt8.test(str10)); //true
- // alert(patt8.test(str11)); //false
-
- //表示要求字符串中是否包含至少零个或多个a
- var patt9 = /a*/;
- var str12 = '134';
- var str13 = '134a';
- // alert(patt9.test(str12)); //true
- // alert(patt9.test(str13)); //true
-
- //表示要求字符串中是否 *包含* 零个或1个a
- var patt10 = /a?/;
- //在没有定义modifiers的情况下,字符串检索到满足的情况下就直接返回true
-
- var str14 = '134';
- var str15 = '134a';
- var str16 = '134aa';
- var str17 = '134aaaaaaa';
- // alert(patt10.test(str14));//true
- // alert(patt10.test(str15));//true
- // alert(patt10.test(str16));//true
- // alert(patt10.test(str17));//true
-
- //表示要求字符串中是否 包含 连续的三个a
- var patt11 = /a{3}/
- var str18 = 'a123a123a';
- var str19 = 'a123aaa123a';
- var str20 = 'a123aaaaaa123a';
- // alert(patt11.test(str18)); //false
- // alert(patt11.test(str19)); //true
- // alert(patt11.test(str20)); // true
-
- //表示要求字符串中是否 包含 至少3个连续a,最多5个a
- var patt = /a{3,5}/;
- var str = "123a123a123";
- // alert(patt.test(str));//false
- str = '123aaa321';
- // alert(patt.test(str));//true
- str = '123aaaaaaaaaaaaa321';
- // alert(patt.test(str));//true
- //在没有定义modifiers的情况下,字符串检索到满足的情况下就直接返回true
-
- //表示要求字符串中是否 包含 至少3个连续a
- patt = /a{3,}/;
- str = '123aaa321';
- // alert(patt.test(str));//true
-
- //表示要求字符串中必须以a开头
- patt = /^a/;
- str = '123aaa321';
- // alert(patt.test(str));//false
- str = 'a123aaa321';
- // alert(patt.test(str));//true
-
- //表示要求字符串中必须以a结尾
- patt = /a$/;
- str = '123aaa321';
- // alert(patt.test(str));//false
- str = '123aaa321a';
- // alert(patt.test(str));//true
-
- //表示要求字符串中是否 包含 3-5个字符
- patt = /^\w{3,5}$/;
- str = '123a';
- alert(patt.test(str));//true
- str = '132as';
- alert(patt.test(str));//true
- str = '123aaaaaaa321a';
- alert(patt.test(str));//false
-
-
- script>
- <body>
- body>
- html>

< body >< div id = "div01" > div01 div >body >
通过标签的 id 属性查找标签 dom 对象,elementId 是标签的 id 属性值
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>1.getElementById方法title>
-
- <script type="text/javascript">
- //静态注册
- function onclickButton(){
- // 当我们要操作一个标签的时候,一定要先获取这个标签对象。(获取标签对象)
- // 获取id为username的标签对象
- var username = document.getElementById("username");
- // username就是 dom 对象
-
- // 获取username标签对象的value属性值
- var value = username.value;
-
- // 获取span标签对象
- var span1 = document.getElementById("span1");
-
- // 3.对username标签value值进行校验
- var patt = /^\w{5,12}$/;
- if(patt.test(value)){
- span1.innerHTML = "用户名合法";//innerHTML属性可读可写
- }else{
- span1.innerHTML = "用户名不合法";
- }
- }
-
- //动态注册
- window.onload = function (ev) {
- var button = document.getElementById("button");
- button.onclick = function () {
- var password = document.getElementById("password");
- var value = password.value;
- var patt = /^\w{5,12}$/;
- var span2 = document.getElementById("span2");
- if(patt.test(value)){
- span2.innerHTML = "
"; - }else{
- span2.innerHTML = "
"; - }
- };
- }
-
- script>
- head>
- <body>
- <form >
- 用户名:<input type="text" value="请输入用户名" id="username">
- <span id="span1" style="color:red">span>
- <input type="button" value="校验" onclick="onclickButton();"/><br />
-
- 密码:<input type="password" id="password"/>
- <span id="span2" style="color:red">span>
- <input type="button" value="校验" id="button"/><br />
- form>
- body>
-
- html>

| 返回带有指定名称的对象集合。 |
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>2.getElementsByName方法title>
- <script type="text/javascript">
- //静态注册
- //全选
- function onclickAll() {
- // 让所有复选框都选中
- // document.getElementsByName();是
- // 根据 指定的 name 属性查询返回多个标签对象集合
- // 这个集合的操作跟数组 一样
- // 集合中每个元素都是 dom 对象
- // 这个集合中的元素顺序是他们在 html 页面中从上到下的顺序
- var hobbies = document.getElementsByName("hobby");
- // alert(hobbies); //[object NodeList]
- // alert(hobbies.length); //5
- // alert(hobbies[2]); //[object HTMLInputElement]
- // alert(hobbies[0].value); //java
-
- // alert(hobbies[0].checked); //true
- // alert(hobbies[1].checked); //false
- // checked 表示复选框的选中状态。如果选中是 true,不选中是 false
- // checked 这个属性可读,可写
-
- for (var i = 0; i < hobbies.length; i++) {
- hobbies[i].checked = true;
- }
- }
-
- //全不选
- function onclickNo() {
- var hobbies = document.getElementsByName("hobby");
- for (var i = 0; i < hobbies.length; i++) {
- hobbies[i].checked = false;
- }
- }
-
- //反选
- function onclickReverse() {
- var hobbies = document.getElementsByName("hobby");
- for (var i = 0; i < hobbies.length; i++) {
- if (hobbies[i].checked) {
- hobbies[i].checked = false;
- } else {
- hobbies[i].checked = true;
- }
- }
- }
-
- // 动态注册
- window.onload = function (ev) {
- var buttons = document.getElementsByName("button");
- var hobbies = document.getElementsByName("hobby");
- buttons[0].onclick = function () {
- for (var i = 0; i < hobbies.length; i++) {
- hobbies[i].checked = true;
- }
- };
- buttons[1].onclick = function () {
- for (var i = 0; i < hobbies.length; i++) {
- hobbies[i].checked = false;
- }
- };
- buttons[2].onclick = function () {
- for (var i = 0; i < hobbies.length; i++) {
- if (hobbies[i].checked) {
- hobbies[i].checked = false;
- } else {
- hobbies[i].checked = true;
- }
- }
- };
- }
- script>
- head>
- <body>
- <form>
- 兴趣爱好:
- <input type="checkbox" name="hobby" value="java" checked/>java
- <input type="checkbox" name="hobby" value="cpp"/>C++
- <input type="checkbox" name="hobby" value="c"/>C
- <input type="checkbox" name="hobby" value="python"/>python
- <input type="checkbox" name="hobby" value="php"/>php
- <br/>
- <input onclick="onclickAll();" type="button" value="全选(静态)"/>
- <input onclick="onclickNo();" type="button" value="全不选(静态)"/>
- <input onclick="onclickReverse();" type="button" value="反选(静态)"/>
- <br/>
- <input name="button" type="button" value="全选(动态)"/>
- <input name="button" type="button" value="全不选(动态)"/>
- <input name="button" type="button" value="反选(动态)"/>
- form>
-
- body>
- html>

| getElementsByTagName() | 返回带有指定标签名的对象集合。 |
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>3.getElementsByTagName方法title>
- <script type="text/javascript">
- //静态注册
- function onclickAll(){
- // document.getElementsByTagName("input");
- // 是按照指定标签名来进行查询并返回集合
- // 这个集合的操作跟数组 一样
- // 集合中都是 dom 对象
- // 集合中元素顺序 是他们在 html 页面中从上到下的顺序。
- var inputs = document.getElementsByTagName("input");
- for (var i = 0; i < inputs.length; i++) {
- inputs[i].checked = true;
- }
- }
- //动态注册
- window.onload = function (ev) {
- var inputs = document.getElementsByTagName("input");
- var button = document.getElementsByTagName("button");
- button[1].onclick = function () {
- for (var i = 0; i < inputs.length; i++) {
- inputs[i].checked = true;
- }
- }
- }
- script>
- head>
- <body>
- 兴趣爱好:
- <input type="checkbox" value="java" checked/>java
- <input type="checkbox" value="cpp"/>C++
- <input type="checkbox" value="c"/>C
- <input type="checkbox" value="python"/>python
- <input type="checkbox" value="php"/>php
- <br/>
- <button onclick="onclickAll();">全选(静态)button>
- <button>全选(动态)button>
- body>
- html>

document.createElement( tagName)
需求:使用 js 代码来创建 html 标签,并显示在页面上 标签的内容就是:
方式1:
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>4.createElement方法title>
- <script type="text/javascript">
- window.onload = function (ev) {
- //使用 js 代码来创建 html 标签,并显示在页面上
- // 标签的内容就是:hello world
-
- //方式1:
- //1.使用createElement方法创建div标签对象
- var div = document.createElement("div"); //在内存中创建了
-
- // 2.给div标签对象里添加文本
- div.innerHTML = "hello world";
-
- //在body标签中添加子元素div
- document.body.append(div); //将div放入body中
- // append方法,可以添加一个子节点,oChildNode 是要添加的孩子节点
- //语法:标签对象.append(子标签对象)
- // document.body相当于body标签对象, 因为body太常用,就把其放为document属性中
- }
-
- script>
- head>
- <body>
- body>
- html>
方式2:
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>4.createElement方法title>
- <script type="text/javascript">
- window.onload = function (ev) {
- //使用 js 代码来创建 html 标签,并显示在页面上
- // 标签的内容就是:hello world
-
- //方式2:
- //1.使用createElement方法创建div标签对象
- var div = document.createElement("div");
-
- //2.使用createTextNode方法创建文本节点对象
- var text = document.createTextNode("hello world");
-
- //3.将文本节点对象添加到div标签中
- div.appendChild(text);
-
- //4.将div添加到body中
- document.body.appendChild(div);
-
- };
-
- script>
- head>
- <body>
- body>
- html>
题目:
html代码:
- html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>dom查询title>
- <link rel="stylesheet" type="text/css" href="css.css" />
- <script type="text/javascript" src="js.js">
- script>
- head>
- <body>
- <div id="total">
- <div class="inner">
- <p>
- 你喜欢哪个城市?
- p>
-
- <ul id="city">
- <li id="bj">北京li>
- <li>上海li>
- <li>东京li>
- <li>首尔li>
- ul>
-
- <br>
- <br>
-
- <p>
- 你喜欢哪款单机游戏?
- p>
-
- <ul id="game">
- <li id="rl">红警li>
- <li>实况li>
- <li>极品飞车li>
- <li>魔兽li>
- ul>
-
- <br />
- <br />
-
- <p>
- 你手机的操作系统是?
- p>
-
- <ul id="phone"><li>IOSli><li id="android">Androidli><li>Windows Phoneli>ul>
- div>
-
- <div class="inner">
- gender:
- <input type="radio" name="gender" value="male"/>
- Male
- <input type="radio" name="gender" value="female"/>
- Female
- <br>
- <br>
- name:
- <input type="text" name="name" id="username" value="abcde"/>
- div>
- div>
- <div id="btnList">
- <div><button id="btn01">查找#bj节点button>div>
- <div><button id="btn02">查找所有li节点个数button>div>
- <div><button id="btn03">查找name=gender的所有节点个数button>div>
- <div><button id="btn04">查找#city下所有li节点个数button>div>
- <div><button id="btn05">返回#city的所有子节点的个数button>div>
- <div><button id="btn06">返回#phone的第一个子节点button>div>
- <div><button id="btn07">返回#bj的父节点button>div>
- <div><button id="btn08">返回#android的前一个兄弟节点button>div>
- <div><button id="btn09">返回#username的value属性值button>div>
- <div><button id="btn10">设置#username的value属性值button>div>
- <div><button id="btn11">返回#bj的文本值button>div>
- div>
- body>
- html>
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);
- };
- };