2024/11/5日 日志 关于BOM浏览器对象模型和DOM文档对象模型的学习与笔记整理

和Javascript有关的BOM与DOM及事件监听。

以下是今天的内容

点击查看代码
-- BOM
-- Browser Object Model 浏览器对象模型
-- JavaScript 将浏览器的各个组成部分封装为对象
-- 组成:
-- Window:浏览器窗口对象
-- Navigator:浏览器对象
-- Screen:屏幕对象
-- History:历史记录对象
-- Location:地址栏对象
--
-- Window:浏览器窗口对象
-- ·获取:直接使用 window,其中window.可以省略
-- window.alert("abc");
-- ·属性:获取其他 BOM对象
-- history         对 History 对象的只读引用。请参数 History 对象
-- Navigator       对 Navigator 对象的只读引用。请参数 Navigator 对象
-- Screen          对 Screen 对象的只读引用。请参数 Screen 对象
-- location        用于窗口或框架的 Location 对象。请参阅 Location 对象
-- ·方法
-- alert()         显示带有一段消息和一个确认按钮的警告框
-- confirm()       显示带有一段消息以及确认按钮和取消按钮的对话框
-- setInterval()   按照指定的周期(以亳秒计)来调用函数或计算表达式
-- setTimeout()   在指定的毫秒数后调用函数或计算表达式
--
-- -- 例:   
-- 		// alert
-- 
--     // window.alert("abc");
--     // alert("bbb");
-- 
--     // confirm,点击确定按钮,返回true,点击取消按钮,返回false
-- 
--     /*var flag = confirm("确认删除?");
-- 
--     //alert(flag);
-- 
--     if(flag){
--         //删除逻辑
--     }*/
-- 
-- 
--     // 定时器
-- 
--     /*
--         setTimeout(function,毫秒值): 在一定的时间间隔后执行一个function,只执行一次
-- 
--         setInterval(function,毫秒值):在一定的时间间隔后执行一个function,循环执行
--      */
-- 
--     /*setTimeout(function (){
--         alert("hehe");
--     },3000);*/
-- 
--     setInterval(function (){
--         alert("hehe");
--     },2000);
-- 
-- History
-- History:历史记录
-- 获取:使用 window.history获取,其中window.可以省略
-- window.history.方法();history.方法();
-- 方法
-- back()
-- forward()
-- 加载 history 列表中的前一个 URL.
-- 加载 history 列表中的下一个 URL。
--
-- Location.
-- Location:地址栏对象
-- 获取:使用 window.location获取,其中window.可以省略
-- window.location.方法();
-- location.方法();
-- 属性
-- href   设置或返回完整的 URL
--
-- DOM
--
-- Document Object Model 文档对象模型
-- · 将标记语言的各个组成部分封装为对象
--  ·Document:整个文档对象
--  ·Element:元素对象
--  ·Attribute:属性对象
--  ·Text:文本对象
--  ·Comment:注释对象
--
-- JavaScript 通过 DOM,就能够对 HTML进行操作了
-- 改变 HTML 元素的内容
-- 改变 HTML元素的样式(CSS)
-- 对 HTML DOM 事件作出反应添加和删除 HTML元素
-- · DOM 是W3C(万维网联盟)的标准
-- · DOM 定义了访问 HTML和 XML 文档的标准
-- · W3C DOM 标准被分为3个不同的部分
-- 1.核心 DOM:针对任何结构化文档的标准模型
--  · Document:整个文档对象
--  · Element:元素对象
--  · Attribute:属性对象
--  · Text:文本对象
--  · Comment:注释对象
-- 2.XMLDOM:针对XML文档的标准模型
-- 3.HTMLDOM:针对 HTML文档的标准模型
--   ·lmage:<img>
--   ·Button :<input type='button'>
-- 
-- 获取Element对象
-- 获取:使用Document对象的方法来获取
-- 1.getElementByld:根据id属性值获取,返回一个lement对象
-- 2.getElementsByTagName:根据标签名称获取,返回Element对象数组
-- 3.getElementsByName:根据name属性值获取,返回Element对象数组
-- 4.getElementsByClassName:根据class属性值获取,返回Element对象数组
--
-- -- 例:
-- <!DOCTYPE html>
-- <html lang="en">
-- <head>
--     <meta charset="UTF-8">
--     <title>DOM</title>
-- </head>
-- <body>
-- <img id="light" src="../imgs/off.gif"> <br>
-- 
-- <div class="cls">传智教育</div>   <br>
-- <div class="cls">黑马程序员</div> <br>
-- 
-- <input type="checkbox" name="hobby"> 电影
-- <input type="checkbox" name="hobby"> 旅游
-- <input type="checkbox" name="hobby"> 游戏
-- <br>
-- 
-- <script>
--     /*
--     获取:使用Document对象的方法来获取
--         * getElementById:根据id属性值获取,返回一个Element对象
--         * getElementsByTagName:根据标签名称获取,返回Element对象数组
--         * getElementsByName:根据name属性值获取,返回Element对象数组
--         * getElementsByClassName:根据class属性值获取,返回Element对象数组
-- 
--      */
--     //1. getElementById:根据id属性值获取,返回一个Element对象
--     var img = document.getElementById("light");
--     // alert(img);
-- 
--     //2. getElementsByTagName:根据标签名称获取,返回Element对象数组
-- 
--     var divs = document.getElementsByTagName("div");
--     // alert(divs.length);
--    /* for (let i = 0; i < divs.length; i++) {
--         alert(divs[i]);
--     }*/
-- 
--     //3. getElementsByName:根据name属性值获取,返回Element对象数组
--     var hobbys = document.getElementsByName("hobby");
--    /* for (let i = 0; i < hobbys.length; i++) {
--         alert(hobbys[i]);
-- 
--     }*/
-- 
--     //4. getElementsByClassName:根据class属性值获取,返回Element对象数组
-- 
--     var clss = document.getElementsByClassName("cls");
--     for (let i = 0; i < clss.length; i++) {
--         alert(clss[i]);
-- 
--     }
-- 
-- 
-- 
-- </script>
-- </body>
-- </html>
--
-- 常见HTML Element对象的使用
-- 
-- 例:
-- <!DOCTYPE html>
-- <html lang="en">
-- <head>
--     <meta charset="UTF-8">
--     <title>Title</title>
-- </head>
-- <body>
-- <img id="light" src="../imgs/off.gif"> <br>
-- 
-- <div class="cls">传智教育</div>   <br>
-- <div class="cls">黑马程序员</div> <br>
-- 
-- <input type="checkbox" name="hobby"> 电影
-- <input type="checkbox" name="hobby"> 旅游
-- <input type="checkbox" name="hobby"> 游戏
-- <br>
-- 
-- <script>
--     //1. getElementById:根据id属性值获取,返回一个Element对象
--     var img = document.getElementById("light");
--     // alert(img);
--     img.src = "../imgs/on.gif";
-- 
--     //2. getElementsByTagName:根据标签名称获取,返回Element对象数组
--     var divs = document.getElementsByTagName("div");
--     /*
--         style:设置元素css样式
--         innerHTML:设置元素内容
--     */
-- 
--     for (let i = 0; i < divs.length; i++) {
--         //divs[i].style.color = 'red';
--         divs[i].innerHTML = "呵呵";
--     }
-- 
--     //3. getElementsByName:根据name属性值获取,返回Element对象数组
--     var hobbys = document.getElementsByName("hobby");
--     for (let i = 0; i < hobbys.length; i++) {
--         //alert(hobbys[i]);
--         hobbys[i].checked = true;
--     }
-- 
--     //4. getElementsByClassName:根据class属性值获取,返回Element对象数组
-- 
--     var clss = document.getElementsByClassName("cls");
--     /*for (let i = 0; i < clss.length; i++) {
--         alert(clss[i]);
-- 
--     }*/
-- 
-- 
-- 
-- </script>
-- </body>
-- </html>
--
-- 查阅文档使用
-- 
--
-- 事件监听
--
-- ·事件:HTML事件是发生在 HTML元素上的“事情”。比如:
-- 		·按钮被点击
-- 		·鼠标移动到元素之上
-- 		·按下键盘按键
-- ·事件监听:JavaScript 可以在事件被侦测到时执行代码
-- ·事件绑定有两种方式
-- · 方式一:通过 HTML标签中的事件属性进行绑定
-- <input type="button" onclick='on()'>
-- function on(){alert("我被点了");}
-- 方式二:通过 DOM 元素属性绑定
-- <input type="button" id="btn">
-- document.getElementByld("btn").onclick = function (){alert("我被点了")};
--
-- 常见事件
-- 事件名        说明
-- onclick       鼠标单击事件
-- onblur        元素失去焦点
-- onfocus       元素获得焦点
-- onload        某个页面或图像被完成加载
-- onsubmit      当表单提交时触发该事件
-- onkeydown     某个键盘的键被按下
-- onmouseover   鼠标被移到某元素之上
-- onmouseout    鼠标从某元素移开

-- ·Event代表事件对象
-- 案例:表单验证
-- <!DOCTYPE html>
-- <html lang="en">
-- <head>
--     <meta charset="UTF-8">
--     <title>欢迎注册</title>
--     <link href="../css/register.css" rel="stylesheet">
-- </head>
-- <body>
-- 
-- <div class="form-div">
--     <div class="reg-content">
--         <h1>欢迎注册</h1>
--         <span>已有帐号?</span> <a href="#">登录</a>
--     </div>
--     <form id="reg-form" action="#" method="get">
-- 
--         <table>
-- 
--             <tr>
--                 <td>用户名</td>
--                 <td class="inputs">
--                     <input name="username" type="text" id="username">
--                     <br>
--                     <span id="username_err" class="err_msg" style="display: none">用户名不太受欢迎</span>
--                 </td>
-- 
--             </tr>
-- 
--             <tr>
--                 <td>密码</td>
--                 <td class="inputs">
--                     <input name="password" type="password" id="password">
--                     <br>
--                     <span id="password_err" class="err_msg" style="display: none">密码格式有误</span>
--                 </td>
--             </tr>
-- 
-- 
--             <tr>
--                 <td>手机号</td>
--                 <td class="inputs"><input name="tel" type="text" id="tel">
--                     <br>
--                     <span id="tel_err" class="err_msg" style="display: none">手机号格式有误</span>
--                 </td>
--             </tr>
-- 
--         </table>
-- 
--         <div class="buttons">
--             <input value="注 册" type="submit" id="reg_btn">
--         </div>
--         <br class="clear">
--     </form>
-- 
-- </div>
-- 
-- 
-- <script>
-- 
--     //1. 验证用户名是否符合规则
--     //1.1 获取用户名的输入框
--     var usernameInput = document.getElementById("username");
-- 
--     //1.2 绑定onblur事件 失去焦点
--     usernameInput.onblur = checkUsername;
-- 
--     function checkUsername() {
--         //1.3 获取用户输入的用户名
--         var username = usernameInput.value.trim();
-- 
--         //1.4 判断用户名是否符合规则:长度 6~12,单词字符组成
--         var reg = /^\w{6,12}$/;
--         var flag = reg.test(username);
-- 
--         //var flag = username.length >= 6 && username.length <= 12;
--         if (flag) {
--             //符合规则
--             document.getElementById("username_err").style.display = 'none';
--         } else {
--             //不合符规则
--             document.getElementById("username_err").style.display = '';
--         }
-- 
--         return flag;
--     }
-- 
-- 
--     //1. 验证密码是否符合规则
--     //1.1 获取密码的输入框
--     var passwordInput = document.getElementById("password");
-- 
--     //1.2 绑定onblur事件 失去焦点
--     passwordInput.onblur = checkPassword;
-- 
--     function checkPassword() {
--         //1.3 获取用户输入的密码
--         var password = passwordInput.value.trim();
-- 
--         //1.4 判断密码是否符合规则:长度 6~12
--         var reg = /^\w{6,12}$/;
--         var flag = reg.test(password);
-- 
--         //var flag = password.length >= 6 && password.length <= 12;
--         if (flag) {
--             //符合规则
--             document.getElementById("password_err").style.display = 'none';
--         } else {
--             //不合符规则
--             document.getElementById("password_err").style.display = '';
--         }
-- 
--         return flag;
--     }
-- 
-- 
--     //1. 验证手机号是否符合规则
--     //1.1 获取手机号的输入框
--     var telInput = document.getElementById("tel");
-- 
--     //1.2 绑定onblur事件 失去焦点
--     telInput.onblur = checkTel;
-- 
--     function checkTel() {
--         //1.3 获取用户输入的手机号
--         var tel = telInput.value.trim();
-- 
--         //1.4 判断手机号是否符合规则:长度 11,数字组成,第一位是1
-- 
--         //var flag = tel.length == 11;
--         var reg = /^[1]\d{10}$/;
--         var flag = reg.test(tel);
--         if (flag) {
--             //符合规则
--             document.getElementById("tel_err").style.display = 'none';
--         } else {
--             //不合符规则
--             document.getElementById("tel_err").style.display = '';
--         }
-- 
--         return flag;
--     }
-- 
-- 
--     //1. 获取表单对象
--     var regForm = document.getElementById("reg-form");
-- 
--     //2. 绑定onsubmit 事件
--     regForm.onsubmit = function () {
--         //挨个判断每一个表单项是否都符合要求,如果有一个不合符,则返回false
-- 
--         var flag = checkUsername() && checkPassword() && checkTel();
-- 
--         return flag;
--     }
-- 
-- </script>
-- </body>
-- </html>
-- 
------------Moonbeams.
posted @   Moonbeamsc  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
返回顶端
点击右上角即可分享
微信分享提示