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

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

时间:2024-11-05 20:08:08浏览次数:3  
标签:11 DOM -- 获取 模型 Element 对象 var alert

和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       元素获得焦点
-- onl oad        某个页面或图像被完成加载
-- onsubmit      当表单提交时触发该事件
-- onkeydown     某个键盘的键被按下
-- onm ouseover   鼠标被移到某元素之上
-- onm ouseout    鼠标从某元素移开

-- ·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.

标签:11,DOM,--,获取,模型,Element,对象,var,alert
From: https://www.cnblogs.com/MoonbeamsC/p/18528725

相关文章

  • 11.5
    软件设计                 石家庄铁道大学信息学院 实验9:桥接模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。 [实验任务一]:两个维度的桥接模式用桥接模式实现在......
  • 代码随想录算法训练营第十四天|leetcode226. 翻转二叉树、leetcode101.对称二叉树、le
    1leetcode226.翻转二叉树题目链接:226.翻转二叉树-力扣(LeetCode)文章链接:代码随想录视频链接:听说一位巨佬面Google被拒了,因为没写出翻转二叉树|LeetCode:226.翻转二叉树哔哩哔哩bilibili自己的思路:之前想过就是使用层序遍历的方法来做这一道题目,后来感觉有一些行不通,就......
  • 机器学习实战——基于随机森林与决策树模型的贷款违约预测全过程(附完整代码和可视化分
    机器学习实战——基于随机森林与决策树模型的贷款违约预测全过程(附完整代码和可视化分析)关于作者作者:小白熊作者简介:精通python、matlab、c#语言,擅长机器学习,深度学习,机器视觉,目标检测,图像分类,姿态识别,语义分割,路径规划,智能优化算法,数据分析,各类创新融合等等。联系邮......
  • C语言第11节:指针(1)
    1.内存和地址1.1内存内存是计算机系统中用于存储数据和指令的硬件设备。它可以被视为一个巨大的、有序的字节数组。基本单位:内存的基本单位是字节(byte)。每个字节由8个位(bit)组成,可以存储0到255之间的一个数值。内存模型:从程序员的角度来看,内存可以被想象成一个巨大的一......
  • Hume.ai 升级:自研情感模型集成 Claude 和 Fal;数字嗅觉公司 Osmo 用 AI 实现气味「传送
       开发者朋友们大家好: 这里是**「RTE开发者日报」**,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(Real-TimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表......
  • 阿里云双11活动火热来袭:服务器仅需79元/年
    2024年阿里云双十一盛宴震撼启幕,云服务器特惠来袭,仅需79元/年起,多种CPU与内存配置任君选择。更有.com域名注册优惠,低至1元起!此外,个人及企业用户均可免费领取高达2088元的总面值双十一代金券补贴,共12张代金券等你来领。企业用户专享福利,更可申请高达5亿算力的补贴。超过140款云产品......
  • 活着就好20241105
    ......
  • AI 大模型重塑软件开发:传统与未来的碰撞
    目录引言传统软件开发流程与模式AI参与的软件开发流程AI带来的优势面临的挑战及应对策略展望未来结语引言        随着人工智能技术的飞速发展,AI大模型正逐步渗透至各行各业,其中软件开发领域尤为显著。从代码自动生成到智能测试,AI不仅简化了开发流程,还......
  • P11236 「KTSC 2024 R1」水果游戏 题解
    很有意思的一道题。思路首先将相邻一样的数合并,每个元素变成一个二元组,表示数与出现次数。考虑什么时候不能合并。我们发现假如充分合并后,现在有连续的三个数\(x_1,x_2,x_3\),以及他们各自的出现次数\(y_1,y_2,y_3\)。如果\(x_1>x_2,x_3>x_2\)。我们想要合并这三个,必须要......
  • 计算机毕业设计Python+大模型新能源汽车销量预测 汽车销量分析可视化 汽车爬虫 深度学
    温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO......