前端基础之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. Pandas之isna,fillna

    isna() 释义 筛选为NaN的布尔值,可接受单个标量或者数组 举例 筛选stu_name为NaN的所有行: df = pd.DataFrame({'stu_name': ['Tom', 'Tony ...

  2. hexo 接入Google站长工具(google search console)提交sitemap

    1.点击google search console 2.选择 点击红圈的按钮 新建资源 3.资源类型 选择网址前缀, 输入网站的url 4.输入完成后的点击验证 下载html 放在hexo 项目下的 ...

  3. ubuntu Python2 升级Python3

    今天买了一台阿里的服务器, 想搭建一个爬虫, 但是 服务器是python2的, 需要升级到python3 1. 下载python3的包 wget https://www.python.org/ftp/ ...

  4. 帆软报表(finereport)点击事件对话框打开

    点击事件对话框打开iframe var iframe = $("<iframe id='001' name='001' width='100%' height='100%' scrol ...

  5. 015 Linux 标准输入输出、重定向、管道和后台启动进程命令

    目录 1 三种标准输入输出 2 什么是重定向?如何重定向? (1)什么是重定向? (2)如何重定向? 3 管道符以及和它容易混淆的一些符号使用 (1)管道符 | (2)&和&& ...

  6. Linux系统安装(CentOS-7)详细操作步骤

    Linux系统安装(CentOS-7)详细操作步骤 一.创建虚拟机 首先创建一个虚拟机,然后才能在虚拟机里面安装系统. 第一步,创建虚拟机的向导 第二步,兼容性默认即可. 第三步,我们等创建完虚拟机后 ...

  7. PHP面试常考之会话控制

    你好,是我琉忆,欢迎您来到PHP面试专栏.本周(2019.2-25至3-1)的一三五更新的文章如下: 周一:PHP面试常考之会话控制周三:PHP面试常考之网络协议周五:PHP面试常考题之会话控制和网络 ...

  8. Linux性能优化之磁盘I/O调优

    I/O指标已介绍,那么如何查看系统的这些指标呢? 一.根据工具查性能 二.根据性能找工具 三.磁盘I/O观察实例 iostat 是最常用的磁盘 I/O 性能观测工具,它提供了每个磁盘的 使用率 . I ...

  9. web开发 小方法1-禁止横向滚动

    最近学了学做了个公司的网站  总结了一些小方法 比如取消横向滚动条并禁止的横向滚动 这样就可以吧超出的切掉让网页更和谐 在body 标签 body{ text-align: center; overf ...

  10. elk监听Java日志发送微信报警

    一年前写过logstash根据日志关键词报警 ,今年重温一下.并且记录一下遇到的问题解决办法. Java错误日志一般出现一大坨,如下图: 所以我们的filebeat日志收集器就要改成多行匹配模式,以日 ...