DOM是文档对象模型,把文档中的标签、属性、文本转换成为文档对象来管理。
document对象
Document对象中的方法介绍
getElementById方法的应用
需求:当用户输入用户名后点击校验按钮,需要获取用户输入的内容,判断是否只由下划线、美元符号、数字、字母组成。
<script type="text/javascript">// 当用户输入用户名后点击校验按钮,需要获取用户输入的内容,// 判断是否只由下划线、美元符号、数字、字母组成,并且长度为5到12位。function onclickFun(){//第一步:需要获取文本框中的内容,因此需要获取这个标签的对象var usernameObj = document.getElementById("username");//这个就是DOM对象,因此也带有属性信息// alert(usernameObj.id);// alert(usernameObj.type);var usemaneText = usernameObj.value;//通过DOM对象,获得了文本框内容//下一步是验证字符串符合某个规则,这时需要使用正则表达式技术var patt = /^\w{5,12}$/;if(patt.test(usemaneText)){alert("用户名合法");}else{alert("用户名不合法");}}</script></head><body>用户名:<input type="text" id="username" value="tan"/><button onclick="onclickFun()">校验</button></body>



优化1:
<script type="text/javascript">// 当用户输入用户名后点击校验按钮,需要获取用户输入的内容,// 判断是否只由下划线、美元符号、数字、字母组成,并且长度为5到12位。function onclickFun(){//第一步:需要获取文本框中的内容,因此需要获取这个标签的对象var usernameObj = document.getElementById("username");//这个就是DOM对象,因此也带有属性信息// alert(usernameObj.id);// alert(usernameObj.type);var usernameText = usernameObj.value;//通过DOM对象,获得了文本框内容var usernameSpanObj = document.getElementById("usernamespan");//下一步是验证字符串符合某个规则,这时需要使用正则表达式技术var patt = /^\w{5,12}$/;if(patt.test(usernameText)){usernameSpanObj.innerHTML="用户名合法";}else{usernameSpanObj.innerHTML="用户名不合法";}}</script><body>用户名:<input type="text" id="username" value=""/><span style="color: #6495ed" id = "usernamespan"> </span><button onclick="onclickFun()">校验</button></body>
正则表达式





<script type="text/javascript">//定义格式:var pattern = new RegExp("");var pattern = / /;//第一种:表示判断是否包含某个字母var patt0 = new RegExp("e");var patt0 = /e/;//第二种:表示判断是否包含方括号中的任意字符var patt1 = /[abc]/;//第三种:表示判断是否不包含方括号中的任意字符var patt2 = /[^abc]/;//第四种:表示判断是否包含小写字母var patt3 = /[a-z]/;//第五种:表示判断大写var patt4 = /[A-Z]/;//第六种:表示判断是否包含任意数字var patt5 = /[0-9]/;//第七种:表示要求包含数字、字母、下划线var patt6 = /\w/;</script>
getElementsByName方法应用
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>getElementsByName</title><!-- //第一步,为每个按钮绑定点击事件--><script type="text/javascript">function checkAll(){var languageObj = document.getElementsByName("language");for (var i=0;i<languageObj.length;i++){languageObj[i].checked=true;}}function checkNone(){var languageObj = document.getElementsByName("language");for (var i=0;i<languageObj.length;i++){languageObj[i].checked=false;}}function checkReverse(){var languageObj =document.getElementsByName("language");for (var i=0;i<languageObj.length;i++){if(languageObj[i].checked){languageObj[i].checked=false;}else{languageObj[i].checked=true;}}}</script></head><body>勾上你掌握的语言:<input type="checkbox" name="language" value="java" >Java<input type="checkbox" name="language" value="cpp" >C++<input type="checkbox" name="language" value="js">JavaScript<br/><button onclick="checkAll()">全选</button><button onclick="checkNone()">全不选</button><button onclick="checkReverse()">反选</button><br/></body></html>
当点击全选按钮时:
当点击全不选按钮时:
当点击反选按钮时:

getElementsByTagName方法应用
<script type="text/javascript">function checkAll(){var inputObj = document.getElementsByTagName("input");for (var i=0;i<inputObj.length;i++){inputObj[i].checked=true;}}function checkNone(){var inputObj = document.getElementsByTagName("input");for (var i=0;i<inputObj.length;i++){inputObj[i].checked=false;}}function checkReverse(){var inputObj = document.getElementsByTagName("input");for (var i=0;i<inputObj.length;i++){if(inputObj[i].checked){inputObj[i].checked=false;}else{inputObj[i].checked=true;}}}</script><body>勾上你掌握的语言:<input type="checkbox" value="java" >Java<input type="checkbox" value="cpp" >C++<input type="checkbox" value="js">JavaScript<br/><button onclick="checkAll()">全选</button><button onclick="checkNone()">全不选</button><button onclick="checkReverse()">反选</button><br/></body>
与上一个方法效果一样。
补充createElement方法和appendChlid方法
<script type="text/javascript">window.onload = function (){//createElement方法用于创建标签,并显示在页面上var ElementObj = document.createElement("div");ElementObj.innerHTML="你好哇,黑颖虾";//等同于<div>你好哇,batman</div>,但还在内存中//第二步要把这个标签放在body标签中,等同于添加body标签的子标签document.body.appendChild(ElementObj);}</script>

也可以写成:
<script type="text/javascript">window.onload = function (){//createElement方法用于创建标签,并显示在页面上var ElementObj = document.createElement("div");// ElementObj.innerHTML="你好哇,黑颖虾";//等同于<div>你好哇,batman</div>,但还在内存中//第二步要把这个标签放在body标签中,等同于添加body标签的子标签,同时文本标签也是div标签的子节点var TextNodeObj = document.createTextNode("你好哇,黑颖虾");ElementObj.appendChild(TextNodeObj);document.body.appendChild(ElementObj);}</script>
节点的常用属性和方法
方法
- getElementByTagName(){}
获得当前节点的指定标签名的孩子节点
- appendChild(oChildNode)
属性





