(一)尚硅谷javascript重点总结(5)【DOM 模型】

    科技2026-08-07  1

    Document 对象的理解: 第一点: Document 它管理了所有的 HTML 文档内容。 第二点: document 它是一种树结构的文档。有层级关系。 第三点:它让我们把所有的标签 都 对象化 第四点:我们可以通过 document 访问所有的标签对象

     

    什么是对象化??

      举例: 有一个人有年龄: 18 岁,性别:女,名字:张某某 我们要把这个人的信息对象化怎么办!   Class Person { private int age; private String sex; private String name; }

    class Dom{ private String id; // id 属性 private String tagName; //表示标签名 private Dom parentNode; //父亲 private List<Dom> children; // 孩子结点 private String innerHTML; // 起始标签和结束标签中间的内容 }

     

    Document 对象中的方法介绍*****重点)

    getElementById 方法示例代码:

    <!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对象 var usernameText = usernameObj.value; // 如何 验证 字符串,符合某个规则 ,需要使用正则表达式技术 var patt = /^\w{5,12}$/; /* * test()方法用于测试某个字符串,是不是匹配我的规则 , * 匹配就返回true。不匹配就返回false. * */ var usernameSpanObj = document.getElementById("usernameSpan"); // innerHTML 表示起始标签和结束标签中的内容 // innerHTML 这个属性可读,可写 usernameSpanObj.innerHTML = "国哥真可爱!"; if (patt.test(usernameText)) { // alert("用户名合法!"); // usernameSpanObj.innerHTML = "用户名合法!"; usernameSpanObj.innerHTML = "<img src=\"right.png\" width=\"18\" height=\"18\">"; } else { // alert("用户名不合法!"); // usernameSpanObj.innerHTML = "用户名不合法!"; usernameSpanObj.innerHTML = "<img src=\"wrong.png\" width=\"18\" height=\"18\">"; } } </script> </head> <body> 用户名:<input type="text" id="username" value="wzg"/> <span id="usernameSpan" style="color:red;"> </span> <button onclick="onclickFun()">较验</button> </body> </html>

    getElementsByName 方法示例代码:

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> // 全选 function checkAll() { // 让所有复选框都选中 // document.getElementsByName();是根据 指定的name属性查询返回多个标签对象集合 // 这个集合的操作跟数组 一样 // 集合中每个元素都是dom对象 // 这个集合中的元素顺序是他们在html页面中从上到下的顺序 var hobbies = document.getElementsByName("hobby"); // checked表示复选框的选中状态。如果选中是true,不选中是false // checked 这个属性可读,可写 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" checked="checked">C++ <input type="checkbox" name="hobby" value="java">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 方法示例代码:

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript"> window.onload = function(){ // alert( document.getElementById("btn01") ); } // 全选 function checkAll() { alert( document.getElementById("btn01") ); // document.getElementsByTagName("input"); // 是按照指定标签名来进行查询并返回集合 // 这个集合的操作跟数组 一样 // 集合中都是dom对象 // 集合中元素顺序 是他们在html页面中从上到下的顺序。 var inputs = document.getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++){ inputs[i].checked = true; } } </script> </head> <body> <!--as --> 兴趣爱好: <input type="checkbox" value="cpp" checked="checked">C++ <input type="checkbox" value="java">Java <input type="checkbox" value="js">JavaScript <br/> <button id="btn01" onclick="checkAll()">全选</button> </body> </html>

    createElement 方法示例代码:

    <!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> var textNodeObj = document.createTextNode("国哥,我爱你"); // 有一个文本节点对象 #国哥,我爱你 divObj.appendChild(textNodeObj); // <div>国哥,我爱你</div> // divObj.innerHTML = "国哥,我爱你"; // <div>国哥,我爱你</div>,但,还只是在内存中 // 添加子元素 document.body.appendChild(divObj); } </script> </head> <body> </body> </html>
    Processed: 0.008, SQL: 9