JavaWeb - JavaScript
2021/9/17 14:05:13
本文主要是介绍JavaWeb - JavaScript,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
JavaScript
JS 是弱类型,Java 是强类型
特点
1.交互性(它可以做的就是信息的动态交互)
2.安全性(不允许直接访问本地硬盘)
3.跨平台性(只要是可以解释 JS 的浏览器都可以执行,和平台无关)
01-hello.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // alert 是 JavaScript 语言提供的一个警告框函数. // 它可以接收任意类型的参数,让这个参数就是警告框的提示信息 alert("hello javaScript!") </script> </head> <body> </body> </html>
1.js 和 02-hello.html
alert("1122 hello world!");
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!-- 现在需要使用 script 引入外部的 js 文件来执行 src 属性专门用来引入 js 文件路径(可以是相对路径,也可以是绝对路径) script 标签可以用来定义 js 代码,也可以用来引入 js 文件 但是,两个功能二选一使用,不能同时使用两个功能。 --> <script type="text/javascript" src="1.js"></script> <script type="text/javascript"> // alert 是 JavaScript 语言提供的一个警告框函数. // 它可以接收任意类型的参数,让这个参数就是警告框的提示信息 alert("前哥现在可以帅了!") </script> </head> <body> </body> </html>
03-变量.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>标题</title> <script type="text/javascript"> /* JavaScript 的变量类型: 数值类型: number 字符串类型: string 对象类型: object 布尔类型: boolean 函数类型: function JavaScript 里特殊的值: undefined 未定义,所有 js 变量未赋于初始值的时候,默认值都是 undefined null 空值 MAM 全称是: Not a Number。非数字。非数值。 JS 中的定义变量格式: var 变量名; var 变量名 = 值; */ var i; // alert(i); //undefined i = 12; // typeof()是 JavaScript 语言提供的一个函数。 // alert(typeof(i)); //number i = "abc"; // 它可以取变量的数据类型返回 // alert(typeof(i)); //string var a = 12; var b = "abc"; alert( a * b ); //NaN NaN: 是非数字,非数值。 </script> </head> <body> </body> </html>
04-关系运算.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* 等于: == 等于是简单的做字面值的比较 全等于: === 除了做字面值的比较之外,还会比较两个变量的数据类型 */ var a = "12"; var b = 12; alert( a==b ); // true alert( a===b ); // false </script> </head> <body> </body> </html>
05-逻辑运算.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* 在 JavaScript 语言中,所有的变量,都可以作为一个 boolean 类型的变量去使用。 0、null、undefined,""(空串) 都认为是 false; */ // var a = 0; // if(a){ // alert("零为真"); // } else { // alert("零为假");//零为假 // } // var b = null; // if(b){ // alert("null为真"); // } else { // alert("null为假")//null为假 // } // var c = undefined; // if(c){ // alert("undefined为真"); // } else { // alert("undefined为假");//undefined为假 // } // var d = ""; // if(d){ // alert("空串为真"); // } else { // alert("空串为假");//空串为假 // } /* && 且运算。 有两种情况: 第一种:当表达式全为真的时候。返回最后一个表达式的值。 第二种:当表达式中,有一个为假的时候。返回第一个为假的表达式的值 */ // var a = "abc"; // var b = true; // var d = false; // var c = null; // alert( a && b );//true // alert( b && a );//abc // alert( a && d );//false // alert( a && c );//null // alert(a && b && c);//null // alert(a && d && c);//false /* || 或运算 第一种情况:当表达式全为假时,返回最后一个表达式的值 第二种情况:只要有一个表达式为真。就会把回第一个为真的表达式的值 */ // alert( d || c );//null // alert( c || d );//false // alert( a || c );//abc // alert( a || c );//abc </script> </head> <body> </body> </html>
06-数组.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* JS 中数组的定义: 格式: var 数组名 = []; //空数组 var 数组名 = [1,'abc',true]; //定义数组同时赋值元素 */ var arr = [true,1];//定义一个空数组 // alert(arr.length);//2 arr[0] = 12; // alert(arr[0]);//12 // alert(arr.length);//2 // JS 语言中的数组,只要我们通过数组下标赋值,那么最大的下标值,就会自动的给数组做扩容操作。 arr[2] = "abc"; // alert(arr.length);//3 // alert(arr[9]);//undefined // alert(arr.length);//3 // alert(arr[1]);//1 // 数组的遍历 for(var i = 0; i < arr.length; i++){ alert(arr[i]); } // 12 // 1 // abc </script> </head> <body> </body> </html>
07-函数的第一种定义方式.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* function 函数名(形参列表){ 函数体 } */ //定义一个无参函数 function fun(){ alert("无参函数fun()被调用了") } //函数调用===才会执行 // fun();//无参函数fun()被调用了 function fun2(a,b){ alert("有参函数fun2()被调用了 a=>" + a + ",b=>" + b); } // fun2(12,"abc");//有参函数fun2()被调用了 a=>12,b=>abc //定义带有返回值的函数 function sum(num1,num2){ var result = num1 + num2; return result; } alert(sum(100,50));//150 </script> </head> <body> </body> </html>
08-函数的第二种定义方式.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* var 函数名 = function(形参列表){ 函数体 } */ var fun = function (){ alert("无参函数"); } // fun();//无参函数 var fun2 = function (a,b){ alert("有参函数a=" + a + ",b=" + b); } // fun2(1,2);//有参函数a=1,b=2 var fun3 = function(num1,num2){ return num1 + num2; } // alert(fun3(100,200));//300 </script> </head> <body> </body> </html>
09-JS不允许函数重载.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> function fun(a,b){ alert("有参函数fun(a,b)"); } function fun(){ alert("无参函数fun()"); } fun(1,"ad");//无参函数fun() </script> </head> <body> </body> </html>
10-隐形参数arguments.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* 函数的 arguments 隐形参数(只在 function 函数内) 就是在 function 函数中不需要定义,但却可以直接用来获取所有参数的变量。我们管它叫隐形参数 隐形参数特别像 java 基础的可变长参数一样。 public void fun(Object...args); 可变长参数其他是一个数组。 那么 js 中的隐形参数也跟 java 的可变长参数一样。操作类似数组。 */ function fun(a){ //可看参数个数 // alert(arguments.length);//3 // alert(arguments[0]);//1 // alert(arguments[1]);//ad // alert(arguments[2]);//true // alert("a = " + a);//a = 1 // for(var i = 0; i < arguments.length; i++){ // alert(arguments[i]); // } // 1 // ad // true // alert("无参函数fun()");//无参函数fun() } // fun(1,"ad",true); //需求: 要求,编写一个函数,用于计算所有参数相加的和并返回 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,2,3,4,"abc",5,6,7,8,9) );//45 </script> </head> <body> </body> </html>
11.Object形式的自定义对象.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // 对象的定义: // var 变量名 = new Object(); //对象实例(空对象) // 变量名.属性名 = 值; //定义一个属性 // 变量名.函数名 = function(){} //定义一个函数 var obj = new Object(); obj.name = "华仔"; obj.age = 18; obj.fun = function (){ alert("姓名: " + this.name + ",年龄: " + this.age); } // 对象的访问: // 变量名.属性 / 函数名() alert(obj.name); //华仔 alert(obj.age); //18 obj.fun(); //姓名: 华仔,年龄: 18 </script> </head> <body> </body> </html>
12-Object形式的自定义对象.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // 对象的定义: // var 变量名 = { //空对象 // 属性名: 值, //定义一个属性 // 属性名: 值, //定义一个属性 // 函数名: function(){} //定义一个函数 // }; var o = {}; alert(o);//[object Object] var obj = { name:"国歌", age:18, fun : function (){ alert("姓名: " + this.name + ",年龄: " + this.age); } }; // 对象的访问: // 变量名.属性 / 函数名(); alert(obj.name); //国歌 obj.fun(); //姓名: 国歌,年龄: 18 </script> </head> <body> </body> </html>
// 事件是电脑输入设备与页面进行交互的相应。我们称之为事件。 // 常用的事件: // onl oad 加载完成事件: 页面加载完成之后,常用于做页面 js 代码初始化操作 // onclick 单击事件: 常用于按钮的点击相应操作。 // onblur 失去焦点事件: 常用于输入框失去焦点后验证其输入内容是否合法。 // onchange 内容发生改变事件: 常用于下拉列表和输入框内容发生改变后操作 // onsubmit 表单提交事件: 常用于表单提前交,验证所有表单项是否合法。 // 事件的注册又分为静态注册和动态注册两种: // 什么是事件的注册(绑定)? // 其实就是告诉浏览器,当事件响应后要执行哪些操作代码,叫事件注册或事件绑定。 // 静态注册事件: 通过 html 标签的事件属性直接赋于事件响应后的代码,这种方式我们叫静态注册。 // 动态注册事件: 是指先通过 js 代码得到标签的 dom 对象,然后再通过 dom 对象.事件名 = function(){} // 这种形式赋于事件响应后的代码,叫动态注册。 // 动态注册基本步骤: // 1.获取标签对象 // 2.标签对象.事件名 = function(){}
onload.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // onl oad 事件的方法 // function onl oadFun(){ // alert("静态注册 onl oad 事件,所有代码"); // } // onl oad 事件动态注册。是固定写法 window.onload = function (){ alert("动态注册 onl oad 事件"); } </script> </head> <!-- 静态注册 onl oad 事件 onl oad 事件是浏览器解析完页面之后就会自动触发的事件 --> <!-- <body οnlοad="onloadFun()">//静态注册 onl oad 事件,所有代码 --> <body><!--动态注册 onl oad 事件--> </body> </html>
onclick.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> function onclickFun(){ alert("静态注册 onclick 事件"); } //动态注册 onclick 事件 window.onload = function (){ // 1.获取标签对象 /* document 是 JavaScript 语言提供的一个对象(文档) <br/> get 获取 Element 元素(就是标签) By 通过... 由...经... Id id属性 getElementById 通过 id 属性获取标签对象 */ var btnObj = document.getElementById("btn01"); alert(btnObj);//[object HTMLButtonElement] // 2.通过标签对象.事件名 = function(){} btnObj.onclick = function (){ alert("动态注册的的 onclick 事件"); } } </script> </head> <body> <!--静态注册 onClick 事件--> <button onclick="onclickFun();">按钮1</button><!--静态注册 onclick 事件--> <button id="btn01">按钮2</button><!--动态注册的的 onclick 事件--> </body> </html>
onblur.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // 静态注册失去焦点事件 function onblurFun(){ // console 是控制台对象,是由 JavaScript 语言提供,专门用来向浏览器的控制器打印输出,用于测试使用 // log() 是打印的方法 console.log("静态注册失去焦点事件"); } // 动态注册 onblur 事件 window.onload = function (){ // 1.获取标签对象 var passwordObj = document.getElementById("password"); // alert(passwordObj); // 2.通过标签对象.事件名 = function(){}; passwordObj.onblur = function (){ console.log("动态注册失去焦点事件"); } } </script> </head> <body> <!--失去焦点后控制台显示: 静态注册失去焦点事件--> 用户名:<input type="text" onblur="onblurFun();"><br/> <!--失去焦点后控制台显示: 动态注册失去焦点事件--> 密码:<input id="password" type="text"><br/> </body> </html>
onchange.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> function onchangeFun(){ alert("女神已经改变了"); } window.onload = function (){ // 1.获取标签对象 var selObj = document.getElementById("selO1"); // alert(selObj); // 2.通过标签对象.事件名 = function(){} selObj.onchange = function (){ alert("男神已经改变了"); } } </script> </head> <body> 请选择你心中的女神: <!--静态注册 onchange 事件--> <select onchange="onchangeFun();"> <option>--女神--</option> <!--选择其她人时显示: 女神已经改变了--> <option>芳芳</option> <option>佳佳</option> <option>娘娘</option> </select><br/> 请选择你心中的男神: <select onchange="onchangeFun();"> <option>--男神--</option> <!--选择其她人时显示: 男神已经改变了--> <option>前哥</option> <option>国荣</option> <option>星驰</option> </select> </body> </html>
onsubmit.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // 静态注册表单提交事务 function onsubmitFun(){ // 要验证所有表单项是否合法,如果,有一个不合法就阻止表单提交 alert("静态注册表单提交事件---发现不合法"); <!--return false 可以阻止表单提交--> return false; } window.onload = function (){ // 1.获取标签对象 var formObj = document.getElementById("form01"); // 2.通过标签对象.事件名 = function(){}; formObj.onsubmit = function (){ // 要验证所有表单项是否合法,如果,有一个不合法就阻止表单提交 alert("动态注册表单提交事件---发现不合法"); <!--return false 可以阻止表单提交--> return false; } } </script> </head> <body> <!--return false 可以阻止表单提交--> <form action="http://www.baidu.com" method="get" onsubmit="return onsubmitFun();"> <!--点击静态注册按钮显示: 静态注册表单提交事件---发现不合法--> <input type="submit" value="静态注册"> </form> <form action="http://www.baidu.com" id="form01"> <!--点击动态注册按钮显示: 动态注册表单提交事件---发现不合法--> <input type="submit" value="动态注册"/> </form> </body> </html>
getElementById.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* 需求: 当用户点击了校验按钮,要获取输出框中的内容。然后校验其是否合法。<br/> 验证的规则是: 必须由字母、数字、下划线组成。并且长度是 5 到 12 位 */ function onclickFun(){ // 1. 当我们要操作一个标签的时候,一定要先获取这个标签对象。 var usernameObj = document.getElementById("username"); // [object HTMLInputElement] 它就是 dom 对象 // alert(usernameObj); // text // alert(usernameObj.type); // username // alert(usernameObj.id); // wzg // alert(usernameObj.value) var usernameText = usernameObj.value; // 如何验证 字符串,符合某个规则,需要使用正则表达式技术 var patt = /^\w{5,12}$/; /* test()方法用于测试某个字符串,是不是匹配我的规则, 匹配就是返回 true 。不匹配就是返回 false。 */ if(patt.test(usernameText)){ alert("用户名合法!") } else{ alert("用户名不合法!") } } </script> </head> <body> 用户名:<input type="text" id="username" value="wzg"/> <button onclick="onclickFun()">校验</button> </body> </html>
/* DOM 模型 DOM 全称是 Document Object Model 文档对象模型 大白话,就是把文档中的标签,属性,文本,转换成对象来管理。 那么,他们是如何实现把标签,属性,文本转换成对象来管理的呢。 Document 文档树内存结构 文档 根元素:<html> 元素:<head> 元素:<body> 元素:<title> 属性:href -- 元素:<a> 元素:<h1> 文本:"文档标题" 文本:"我的链接" 文本:"我的标题" 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> 模拟对象化,相当于: class Dom{ private String id; //id属性 private String tagName; //表示标签名 private Dom parentNode; //父亲 private List<Dom>children; //孩子节点 private String innerHTML; //起始标签和结束标签中间的内容 } */
regexp.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* 包含:最小条件满足,就不再继续检查了 */ // 表示要求字符串中,是否包含字母 e // var patt = new RegExp("e");// RegExp:正则表达式 // var patt = /e/;// 也是正则表达式对象 // alert(patt);// /e/ // 表示要求字符串中,是否包含字母 a 或 b 或 c // var patt = /[abc]/; // 表示要求字符串,是否包含任意小写字母 // var patt = /[a-z]/; // 表示要求字符串,是否包含任意大写字母 // var patt = /[A-Z]/; // 表示要求字符串,是否包含任意数字 // var patt = /[0-9]/; // 表示要求字符串,是否包含字母、数字、下划线 // var patt = /\w/; // 表示要求 字符串中是否包含至少一个 a // var patt = /a+/; // 表示要求 字符串中是否 *包含* 零个 或 多个 a // var patt = /a*/; // 表示要求 字符串是否包含一个或零个 a // var patt = /a?/; // 表示要求 字符串是否包含连续三个 a // var patt = /a{3}/; // 表示要求 字符串是否包含 至少3个连续的a,最多5个连续的a // var patt = /a{3,5}/; // 表示要求 字符串是否包含 至少3个连续的a // var patt = /a{3,}/; // 表示要求 字符串必须以 a 结尾 // var patt = /a$/; // 表示要求 字符串必须以 a 打头 // var patt = /^a/; // 要求字符串中是否 *包含* 至少3个连续的 a // var patt = /a{3,5}/; // 要求字符串,从头到尾必须完全匹配 // var patt = /^a{3,5}$/; var patt = /^\w{5,12}$/; var str = "{aaaaabba}"; // str 中是否包含中则表达式中规定的字母 // 包含: true // 不包含: false alert(patt.test(str)); // 问题: var patt = /a{3,5}/; 最大什么时候有用? </script> </head> <body> </body> </html>
getElementById2.html
<!DOCTYPE html> <html lang="en"> <!-- 两种常见的提示效果 1、文字提示输入的对错 2、图片提示输入的对错 --> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* 需求: 当用户点击了校验按钮,要获取输出框中的内容。然后校验其是否合法。<br/> 验证的规则是: 必须由字母、数字、下划线组成。并且长度是 5 到 12 位 */ function onclickFun(){ // 1. 当我们要操作一个标签的时候,一定要先获取这个标签对象。 var usernameObj = document.getElementById("username"); // [object HTMLInputElement] 它就是 dom 对象 // alert(usernameObj); // text // alert(usernameObj.type); // username // alert(usernameObj.id); // wzg // alert(usernameObj.value) var usernameText = usernameObj.value; // 如何验证 字符串,符合某个规则,需要使用正则表达式技术 var patt = /^\w{5,12}$/; /* test()方法用于测试某个字符串,是不是匹配我的规则, 匹配就是返回 true 。不匹配就是返回 false。 */ var usernameSpanObj = document.getElementById("usernameSpan"); // alert(usernameSpanObj)//[object HTMLSpanElement] // innerHTML 表示起始标签和结束标签中的内容 // innerHTML 这个属性可读,可写 usernameSpanObj.innerHTML = "前哥卡哇伊!";//前哥卡哇伊 if(patt.test(usernameText)){ // alert("用户名合法!") // usernameSpanObj.innerHTML = "用户名合法!" usernameSpanObj.innerHTML = "<img src=\"right.png\" width=\"16\" height=\"16\">!" } else{ // alert("用户名不合法!") // usernameSpanObj.innerHTML = "用户名不合法!" usernameSpanObj.innerHTML = "<img src=\"wrong.png\" width=\"16\" height=\"16\">!" } } </script> </head> <body> 用户名:<input type="text" id="username" value="wzg"/> <span id="usernameSpan" style="color: red;"> <img src="right.png" width="16" height="16"> </span> <button onclick="onclickFun()">校验</button> </body> </html>
getElementsByName.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // 全选 function checkAll(){ //让所有复选框都选中 var hobbies = document.getElementsByName("hobby"); //document.getElementsByName();是根据 指定的name 属性查询返回多个标签对象集合 // alert(hobbies);//[object NodeList] //这个集合的操作跟数组一样 // alert(hobbies.length);//3 name=hobby 的个数为三 //集合中每个元素都是 dom 对象 // alert(hobbies[0]);//[object HTMLInputElement] // alert(hobbies[1]);//[object HTMLInputElement] // alert(hobbies[2]);//[object HTMLInputElement] // alert(hobbies[3]);//undefined : 未定义 //这个集合中的元素顺序是他们在 html 页面中从上到下的顺序 // alert(hobbies[0].value);//cpp // alert(hobbies[1].value);//java // alert(hobbies[2].value);//js // alert(hobbies[3].value);//不显示任何 //checked 表示复选框的选中状态。如果选中是 true,不选中时 false //checked 这个属性可读,可写 // alert(hobbies[0].checked);//false // alert(hobbies[1].checked);//true 因为设置默认选中,所以为true for(var i = 0; i < hobbies.length; i++){ hobbies[i].checked = true; } } // 全不选 function checkNo(){ var hobbies = document.getElementsByName("hobby"); //checked 表示复选框的选中状态。如果选中是 true,不选中时 false //checked 这个属性可读,可写 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; // if(hobbies[i].checked){ // hobbies[i].checked = false; // } else{ // hobbies[i].checked = true; // } } } </script> </head> <body> 兴趣爱好: <input type="checkbox" name="hobby" value="cpp">C++ <input type="checkbox" name="hobby" value="java" checked="checked">Java <input type="checkbox" name="hobby" value="js">JavaScript <br/> <button onclick="checkAll()">全选</button> <button onclick="checkNo()">全不选</button> <button onclick="checkReverse()">反选</button> </body> </html>
getElementsByTagName.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // 全选 function checkAll(){ //document.getElementsByTagName("input"); //是按照指定标签名来进行查询并返回集合 //这个集合的操作跟数组一样 //集合中都是 dom 对象 //集合中元素顺序,是他们在 html 页面中从上到下的顺序。 var inputs = document.getElementsByTagName("input"); // alert(inputs);//[object HTMLCollection] 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" checked="checked">Java <input type="checkbox" value="js">JavaScript <br/> <button onclick="checkAll()">全选</button> </body> </html>
getElementsByTagName2.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> /* 注意: document 对象的三个查询方法,如果有 id 属性,优先使用 getElementById 方法来进行查询 如果没有 id 属性,则优先使用 getElementsByName 方法来进行查询 如果 id 属性 和 name 属性都没有最后再按标签名查 getElementsByTagName 以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象。 */ // 此代码是在代码加载完成(将此文件中的代码加载成页面)之后再执行的。 window.onload = function (){ alert(document.getElementById("btn01"));//[object HTMLButtonElement] } // 全选 function checkAll(){ // alert(document.getElementById("btn01"));//[object HTMLButtonElement] //document.getElementsByTagName("input"); //是按照指定标签名来进行查询并返回集合 //这个集合的操作跟数组一样 //集合中都是 dom 对象 //集合中元素顺序,是他们在 html 页面中从上到下的顺序。 var inputs = document.getElementsByTagName("input"); // alert(inputs);//[object HTMLCollection] 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" checked="checked">Java <input type="checkbox" value="js">JavaScript <br/> <button id="btn01" onclick="checkAll()">全选</button> </body> </html>
css.css
@CHARSET "UTF-8"; body { width: 800px; margin-left: auto; margin-right: auto; } button { width: 300px; /* margin-bottom: 下外边距(上下位置的两个按钮中间距离) */ margin-bottom: 10px; } #btnList { /* 把 id="btnList" 的按钮向左浮动 */ float:left; } #total{ width: 450px; /* 把 id="total" 的按钮向左浮动 */ float:left; } ul{ /* 无序列表的 序列号去除 */ list-style-type: none; /* 设置 外边距 为0 */ margin: 0px; /* 设置 内边距 为0 */ padding: 0px; } /* 选择并设置 class = "inner" 中的 列表项 样式 */ .inner li{ /* 设置边框为实体 */ border-style: solid; /* 设置边框的宽度 */ border-width: 1px; /* 设置 内边距 为5 */ padding: 5px; /* 设置 外边距 为5 */ margin: 5px; background-color: #99ff99; /* 把列表项向左浮动 */ float:left; } /* 选择并设置 class = "inner" 的元素的样式 */ .inner{ width:400px; /* 设置边框为实体 */ border-style: solid; /* 设置边框的宽度 */ border-width: 1px; /* margin-bottom: 下外边距(上下位置的两个按钮中间距离) */ margin-bottom: 10px; /* 设置 内边距 为10 */ padding: 10px; /* 把列表项向左浮动 */ float: left; }
dom查询.html
<!DOCTYPE html> <html> <!-- 节点就是标签对象 方法: 通过具体的元素节点调用 getElementsByTagName() 方法: 获取当前节点的指定标签名孩子节点 appendChild(oChildNode) 方法: 可以添加一个子节点,oChildNode 是要添加的孩子节点 属性: childNodes 属性: 获取当前节点的所有子节点 firstChild 属性: 获取当前节点的第一个子节点 lastChild 属性: 获取当前节点的最后一个子节点 parentNode 属性: 获取当前节点的父节点 nextSibling 属性: 获取当前节点的下一个节点 previousSibling 属性: 获取当前节点的上一个节点 className : 用于获取或设置标签的 class 属性值 innerHTML 属性: 表示获取/设置起始标签和结束标签中的内容 innerText 属性: 表示 获取/设置 起始标签和结束标签中的文本 --> <head> <meta charset="UTF-8"> <title>dom查询</title> <link rel="stylesheet" type="text/css" href="style/css.css" /> <script type="text/javascript"> window.onload = function(){ //1.查找#bj节点 #表示id 动态注册 onclick 事件 document.getElementById("btn01").onclick = function (){ // getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用。 var bjObj = document.getElementById("bj"); // alert(bjObj)//[object HTMLLIElement] alert(bjObj.innerHTML);//表示 获取/设置 起始标签和结束标签中的内容 } //2.查找所有li节点 var btn02Ele = document.getElementById("btn02"); btn02Ele.onclick = function(){ // getElementsByTagName(): 获取当前节点的指定标签名孩子节点 var lis = document.getElementsByTagName("li"); // alert(lis);//[object HTMLCollection] alert(lis.length)//11 }; //3.查找name=gender的所有节点 var btn03Ele = document.getElementById("btn03"); btn03Ele.onclick = function(){ //getElementsByName(): 根据 name 属性获取一组元素节点对象 var genders = document.getElementsByName("gender"); alert(genders.length);//4 }; //4.查找#city下所有li节点 #表示id var btn04Ele = document.getElementById("btn04"); btn04Ele.onclick = function(){ //1.获取 id 为 city 的节点 //2.通过 city 节点.getElementsByTagName 按标签名查子结点 var lis = document.getElementById("city").getElementsByTagName("li"); alert(lis.length);//4 }; //5.返回#city的所有子节点 #表示id var btn05Ele = document.getElementById("btn05"); btn05Ele.onclick = function(){ //1.获取 id 为 city 的节点 //2.通过 city 获取所有子节点 //childNodes(): 获取当前节点的所有子节点 alert(document.getElementById("city").childNodes.length);//9 // 列表项 li 有四个,但是有五个空白条(空格也算一个字符)算五个,所以一共九个 }; //6.返回#phone的第一个子节点 #表示id var btn06Ele = document.getElementById("btn06"); btn06Ele.onclick = function(){ // 查询 id 为 phone 的节点 alert(document.getElementById("phone").firstChild);//[object Text] alert( document.getElementById("phone").firstChild.innerHTML );//undefined }; //7.返回#bj的父节点 #表示id var btn07Ele = document.getElementById("btn07"); btn07Ele.onclick = function(){ //1.查询 id 为 bj 的节点 var bjObj = document.getElementById("bj"); //2.bj 节点获取父节点 // alert( bjObj.parentNode );//[object HTMLUListElement] UList:无序列表 alert( bjObj.parentNode.innerHTML ); }; //8.返回#android的前一个兄弟节点 #表示id var btn08Ele = document.getElementById("btn08"); btn08Ele.onclick = function(){ // 获取 id 为 android 的节点 // 通过 android 节点获取前面兄弟节点 // alert(document.getElementById("android").previousElementSibling);//[object HTMLLIElement] alert( document.getElementById("android").previousElementSibling.innerHTML);//IOS }; //9.读取#username的value属性值 #表示id var btn09Ele = document.getElementById("btn09"); btn09Ele.onclick = function(){ alert(document.getElementById("username").value);//abcde }; //10.设置#username的value属性值 #表示id var btn10Ele = document.getElementById("btn10"); btn10Ele.onclick = function(){ document.getElementById("username").value = "前哥你真牛逼!";//前哥你真牛逼! }; //11.返回#bj的文本值 #表示id var btn11Ele = document.getElementById("btn11"); btn11Ele.onclick = function(){ // alert(document.getElementById("bj").innerHTML);//北京 // alert(document.getElementById("bj").innerText);//北京 alert(document.getElementById("city").innerHTML);//显示内容包括标签和内容 alert(document.getElementById("city").innerText);//显示内容不包括标签,只有内容 // alert(document.getElementById("city").innerText); }; }; </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>IOS</li> <li id="android">Android</li> <li>Windows Phone</li> </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>
createElement.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // 此代码是在代码加载完成(将此文件中的代码加载成页面)之后再执行的。 window.onload = function (){ // 现在需要我们使用 js 代码创建 html 标签,并显示在页面上 // 标签的内容就是:<div>前哥,我爱你</div> var divObj = document.createElement("div");// 在内存中 <div></div> // alert(divObj);//[object HTMLDivElement] div的标签对象 // 方法一: // var textNodeObj = document.createTextNode("前哥,我爱你");// 有一个文本节点对象 #前哥,我爱你 // divObj.appendChild(textNodeObj);//<div>前哥,我爱你</div> // 方法二: divObj.innerHTML = "前哥,我爱你";//<div>前哥,我爱你</div>,但,还只是在内存中 // 添加子元素 document.body.appendChild(divObj); } </script> </head> <body> <!-- F12(或检查)通过 Elements 可看到方法体内包含: <div>前哥,我爱你</div> --> </body> </html>
这篇关于JavaWeb - JavaScript的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南