zoukankan      html  css  js  c++  java
  • javaScripe的DOM模型

    1.DOM模型

    DOM 全称是 Document Object Model 文档对象模型
    大白话,就是把文档中的标签,属性,文本,转换成为对象来管理
     
     
    Document 对象的理解:
    第一点:Document 它管理了所有的 HTML 文档内容。
    第二点:document 它是一种树结构的文档。有层级关系。
    第三点:它让我们把所有的标签 都 对象化
    第四点:我们可以通过 document 访问所有的标签对象。

    2 . Document 对象中的方法
    document.getElementById(elementId) : 通过标签的 id 属性查找标签 dom 对象 (优先使用)
    document.getElementsByName(elementName) : 通过标签的 name 属性查找标签 dom 对象
    document.getElementsByTagName(tagname) : 通过标签名查找标签 dom 对象
    document.createElement( tagName) : 方法,通过给定的标签名,创建一个标签对象
    3.  节点的常用属性和方法 (节点就是dom对象)
    方法:
    通过具体的元素节点调用
    getElementsByTagName()
    方法,获取当前节点的指定标签名孩子节点
    appendChild( oChildNode )
    方法,可以添加一个子节点,oChildNode 是要添加的孩子节点
    属性:
    childNodes
    属性,获取当前节点的所有子节点
    firstChild
    属性,获取当前节点的第一个子节点
    lastChild
    属性,获取当前节点的最后一个子节点
    parentNode
    属性,获取当前节点的父节点
    nextSibling
    属性,获取当前节点的下一个节点
    previousSibling
    属性,获取当前节点的上一个节点
    className
    用于获取或设置标签的 class 属性值
    innerHTML
    属性,表示获取/设置起始标签和结束标签中的内容
    innerText
    属性,表示获取/设置起始标签和结束标签中的文本
     
    4.代码
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>用户注册提示</title>
        <script type="text/javascript">
            function onclickFun() {
                //1.获取对象
                var usernameObj = document.getElementById("username");
                //2.获取value
                var value = usernameObj.value;
                //正则(value只能用字母 , 数字及下划线组成 , 且5-12位
                var patt = /^w{5,12}$/;
                var spanId = document.getElementById("spanId");
                if (patt.test(value)) {
                    spanId.innerHTML = "√";
                } else {
                    spanId.innerHTML = "×";
                }
            }
        </script>
    </head>
    <body>
    用户名 : <input type="text" id="username" value="wzg"/>
    <span id="spanId" style="color: red"></span>
    <button onclick="onclickFun()">提交</button>
    </body>
    </html>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>复选框</title>
        <script type="text/javascript">
            function checkAll() {
                //getElementsByName : 返回带有指定名称的对象集合。
                var hobbys = document.getElementsByName("hobby");
                for (var i = 0; i < hobbys.length; i++) {
                    hobbys[i].checked = true;
                }
            }
    
            function checkNo() {
                //getElementsByName : 返回带有指定名称的对象集合。
                var hobbys = document.getElementsByName("hobby");
                for (var i = 0; i < hobbys.length; i++) {
                    hobbys[i].checked = false;
                }
            }
    
            function checkReverse() {
                //getElementsByName : 返回带有指定名称的对象集合。
                var hobbys = document.getElementsByName("hobby");
                for (var i = 0; i < hobbys.length; i++) {
                    hobbys[i].checked = !hobbys[i].checked;
                }
            }
        </script>
    </head>
    <body>
    兴趣爱好 :
    <input type="checkbox" name="hobby" value="C++">C++
    <input type="checkbox" name="hobby" value="java">java
    <input type="checkbox" name="hobby" value="js">js
    <br/>
    
    <button onclick="checkAll()">全选</button>
    <button onclick="checkNo()">全不选</button>
    <button onclick="checkReverse()">反选</button>
    
    </body>
    </html>
  • 相关阅读:
    线上redis禁止使用keys等时间复杂度高的命令
    组合索引的使用效果的总结
    Netty 断线重连解决方案
    可作为GC Root的对象
    在同一个sqlSession执行一个相同的查询时,Mybatis有一级缓存,不会去查数据库,由此引发的一个bug
    HashMap 和 currentHashMap JDK8总结
    Java程序导致服务器CPU占用率过高的问题排除过程
    一条sql执行的很慢的原因有哪些
    主键索引和非主键索引的区别
    黑马程序员
  • 原文地址:https://www.cnblogs.com/Anonymity-zhang/p/14583104.html
Copyright © 2011-2022 走看看