前端基础之BOM和DOM

  • windw对象
    • 指浏览器窗口,所有的浏览器都支持window对象
    • 常用的window方法
      • window.innerHeight 浏览器窗口的内部高度
      • window.innerWidth 浏览器窗口的内部宽度
      • window.open() 打开新窗口
      • window.close() 关闭当前窗口
  • window的子对象 了解

    • navigator对象。screen对象,history对象

    • location对象

      • window.location 对象用于获取当亲页面的地址(URL),并把浏览器重定向到新的页面
      • 常用属性和方法
        • location.href 获取URL(页面地址)
        • location.href="URL" 跳转到指定页面
        • location.reload() 重新加载页面
    • 计时器相关

      • 通过使用JavaScript,可以在一定时间间隔之后来执行代码,而不是在函数被调用后立即执行,我们称之为计时事件

      • 语法

        • var t=setTimeout("JS语句",毫秒)
        • // 在指定时间之后执行一次相应函数
          var timer = setTimeout(function(){alert(123);}, 3000)
          // 取消setTimeout设置
          clearTimeout(timer);
        • 每隔多少时间做某件事

          • setInterval(函数,毫秒数)
          • clearIntercal(对应序号)
  • DOM

    • 定义:是一套对文档的内容进行抽象和概念化的方法

    • 查找标签
      • 直接查找

        • document.getElementById           根据ID获取一个标签
          document.getElementsByClassName 根据class属性获取
          document.getElementsByTagName 根据标签名获取标签合集
      • 间接查找

        • parentElement            父节点标签元素
          children 所有子标签
          firstElementChild 第一个子标签元素
          lastElementChild 最后一个子标签元素
          nextElementSibling 下一个兄弟标签元素
          previousElementSibling 上一个兄弟标签元素
    • 节点操作
      • 创建节点

        • 语法:createElement(标签名)

        • var divEle = document.createElement("div");
      • 添加节点

        • 语法

          • 追加一个子节点(作为最后的子节点)

            somenode.appendChild(newnode);

            把增加的节点放到某个节点的前边。

            somenode.insertBefore(newnode,某个节点);

        • var imgEle=document.createElement("img");
          imgEle.setAttribute("src", "http://image11.m1905.cn/uploadfile/s2010/0205/20100205083613178.jpg");
          var d1Ele = document.getElementById("d1");
          d1Ele.appendChild(imgEle);
      • 删除节点

        • 获得要删除的元素,通过父元素调用该方法删除
        • somenode.removeChild(要删除的节点)
      • 替换节点

        • 语法
        • somenode.replaceChild(newnode,某个节点);
      • 属性节点

        • 获取文本节点的值

        • var divEle = document.getElementById("d1")
          divEle.innerText
          divEle.innerHTML
        • 设置文本节点的值:

          • var divEle = document.getElementById("d1")
            divEle.innerText="1"
            divEle.innerHTML="<p>2</p>"
          • attribute操作

            • var divEle = document.getElementById("d1");
              divEle.setAttribute("age","18")
              divEle.getAttribute("age")
              divEle.removeAttribute("age") // 自带的属性还可以直接.属性名来获取和设置
              imgEle.src
              imgEle.src="..."
      • 获取值操作

        • 语法

          • elementNode.value
          • 适用于以下标签:input,select,textarea
        • var iEle = document.getElementById("i1");
          console.log(iEle.value);
          var sEle = document.getElementById("s1");
          console.log(sEle.value);
          var tEle = document.getElementById("t1");
          console.log(tEle.value);
      • class的操作

        • className  获取所有样式类名(字符串)
          
          classList.remove(cls)  删除指定类
          classList.add(cls) 添加类
          classList.contains(cls) 存在返回true,否则返回false
          classList.toggle(cls) 存在就删除,否则添加
      • 指定css操作

        • 对于没有中横线的css属性一般直接使用style.属性名即可。

        • obj.style.margin
          obj.style.width
          obj.style.left
          obj.style.position
        • 对含有中横线的css属性,将中横线后面的第一个字母换成大写即可

          • obj.style.marginTop
            obj.style.borderLeftWidth
            obj.style.zIndex
            obj.style.fontFamily
    • 事件

      • 事件的绑定方式

        • 在标签中写属性的方式绑定

          • <div id="d1" onclick="changeColor(this);">点我</div>
            <script>
            function changeColor(ths) {
            ths.style.backgroundColor="green";
            }
            </script>
        • 通过js代码绑定

          • <div id="d2">点我</div>
            <script>
            var divEle2 = document.getElementById("d2");
            divEle2.onclick=function () {
            this.innerText="呵呵";
            }
            </script>
      • 何时绑定事件:文档加载完成之后在绑定

        • window.onload = function(){}
        • 把绑定事件的代码写到body标签最下面的script中
      • 常用事件

        • onclick

        • onfocus

        • onblur

        • onchange

        • onclick        当用户点击某个对象时调用的事件句柄。
          ondblclick 当用户双击某个对象时调用的事件句柄。 onfocus 元素获得焦点。 // 练习:输入框
          onblur 元素失去焦点。 应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
          onchange 域的内容被改变。 应用场景:通常用于表单元素,当元素内容被改变时触发.(select联动) onkeydown 某个键盘按键被按下。 应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
          onkeypress 某个键盘按键被按下并松开。
          onkeyup 某个键盘按键被松开。
          onload 一张页面或一幅图像完成加载。
          onmousedown 鼠标按钮被按下。
          onmousemove 鼠标被移动。
          onmouseout 鼠标从某元素移开。
          onmouseover 鼠标移到某元素之上。 onselect 在文本框中的文本被选中时发生。
          onsubmit 确认按钮被点击,使用的对象是form。
        • <!DOCTYPE html>
          <html lang="en">
          <head>
          <meta charset="UTF-8">
          <title>搜索框示例</title> </head>
          <body>
          <input id="d1" type="text" value="请输入关键字" onblur="blur()" onfocus="focus()"> <script>
          function focus(){
          var inputEle=document.getElementById("d1");
          if (inputEle.value==="请输入关键字"){
          inputEle.value="";
          }
          } function blur(){
          var inputEle=document.getElementById("d1");
          var val=inputEle.value;
          if(!val.trim()){
          inputEle.value="请输入关键字";
          }
          }
          </script>
          </body>
          </html>

前端知识之BOM和DOM的更多相关文章

  1. JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}

    前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...

  2. 前端基础之BOM和DOM day52

    前端基础之BOM和DOM   前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互 ...

  3. day 47 前端基础之BOM和DOM

      前端基础之BOM和DOM   前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些 ...

  4. day35前端基础之BOM和DOM

    day35前端基础之BOM和DOM BOM操作 简介 BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行"对话". ...

  5. Python学习(二十二)—— 前端基础之BOM和DOM

    转载自http://www.cnblogs.com/liwenzhou/p/8011504.html 一.前言 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没 ...

  6. 前端基础 之 BOM和DOM

    浏览目录 背景 BOM window对象 window的子对象 DOM HTML DOM树 查找标签 节点操作 事件 一.背景 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些 ...

  7. 前端javascript之BOM、DOM操作、事件

    BOM与DOM操作 BOM 浏览器对象模型>>>:使用js操作浏览器 DOM 文档对象模型>>>:使用js操作前端页面 window对象 所有浏览器都支持 wind ...

  8. 前端基础之BOM和DOM

    关于网页交互:BOM和DOM javaScript分为ECMAScript,DOM,BOM . BOM(Browser  object  Model)是指浏览器对象模型,它使JavaScript有能力 ...

  9. 前端基础之BOM和DOM(响应式布局、计时器、搜索框、select联动)

    一.BOM和DOM JavaScript分为 ECMAScript,DOM,BOM. BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进 ...

随机推荐

  1. C# 字符串计算MD5

    public static string ComputeMD5 (string text) // 计算字符串的 MD5 { System.Security.Cryptography.MD5Crypto ...

  2. suse 12 二进制部署 Kubernetets 1.19.7 - 第11章 - 部署coredns组件

    文章目录 1.11.0.部署coredns 1.11.1.测试coredns功能 suse 12 二进制部署 Kubernetes 集群系列合集: suse 12 二进制部署 Kubernetets ...

  3. c++ 指针数组与指向数组的指针

    指针数组与指向数组的指针 1.int (*a)[10]-->指向数组的指针 a是一个二级指针,可认为是一个二维数组的首地址,指向一个一维数组,数组存储了10个int数据. int arr1[10 ...

  4. mysql数据库怎么存入emoji表情

    第一步 设置数据库字符编码为utf8mb4_general_ci  设置相应表字段字符编码为utf8mb4_general_ci 第二步 设置my.cnf增加以下配置信息 [client] defau ...

  5. tip2:Linux系统相关命令使用

    好记忆不如烂笔头,很多东西不常用突然要用就是记得相关的命令但是具体就不确定了,本文记录个人不常用同时偶尔用到但不确定或者记不住的内容. 一.用户管理 这组个人使用频率不高,知道同时记不住具体涉及的系统 ...

  6. 【Python自动化Excel】pandas操作Excel的“分分合合”

    话说Excel数据表,分久必合.合久必分.Excel数据表的"分"与"合"是日常办公中常见的操作.手动操作并不困难,但数据量大了之后,重复性操作往往会令人崩溃. ...

  7. Python+selenium自动循环扔QQ邮箱漂流瓶

    Python代码如下: # coding=utf-8 from selenium import webdriver from time import sleep from random import ...

  8. 微服务从代码到k8s部署应有尽有系列(八、各种队列)

    我们用一个系列来讲解从需求到上线.从代码到k8s部署.从日志到监控等各个方面的微服务完整实践. 整个项目使用了go-zero开发的微服务,基本包含了go-zero以及相关go-zero作者开发的一些中 ...

  9. 浅谈C#字符串构建利器StringBuilder

    前言 在日常的开发中StringBuilder大家肯定都有用过,甚至用的很多.毕竟大家都知道一个不成文的规范,当需要高频的大量的构建字符串的时候StringBuilder的性能是要高于直接对字符串进行 ...

  10. Meterpreter文件系统命令

    实验目的 掌握Meterpreter的文件系统命令 实验原理 1.Meterpreter介绍 meterpreter是metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷 ...