前端基础之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. Pytorch技法:继承Subset类完成自定义数据拆分

    我们在<torch.utils.data.DataLoader与迭代器转换>中介绍了如何使用Pytorch内置的数据集进行论文实现,如torchvision.datasets.下面是加载内 ...

  2. Solution -「JOISC 2021」「LOJ #3489」饮食区

    \(\mathcal{Description}\)   Link.   呐--不想概括题意,自己去读叭~ \(\mathcal{Solution}\)   如果仅有 1. 3. 操作,能不能做?    ...

  3. Dubbo源码剖析五之服务本地缓存

    Dubbo调用者需要通过注册中心(例如:ZK)注册信息,获取提供者.但是如果频繁从ZK获取信息肯定会存在单点故障问题,所以Dubbo提供了将提供者信息缓存在本地的方法. Dubbo在订阅注册中心的回调 ...

  4. Selenium自动化测试面试题合集

    1.什么是自动化测试.自动化测试的优势是什么? 通过工具或脚本代替手工测试执行过程的测试都叫自动化测试. 自动化测试的优势: 1.减少回归测试成本 2.减少兼容性测试成本 3.提高测试反馈速度 4.提 ...

  5. 宿主机ping不通虚拟机,虚拟机能ping通宿主机

    最近,微信提升群里好几个小伙伴遇到了如题的问题. 问了下原因,原来是我说的把宿主机网卡ip获取方式改为自动,结果他们把宿主机上虚拟网卡的ip改为自动了. 当然,分析"宿主机ping不通虚拟机 ...

  6. 密码破解工具Brutus

    实验目的 利用brutus将暴力破解ftp密码 实验原理 brutus将多次尝试ftp密码进行密码爆破 实验内容 利用brutus将暴力破解ftp密码 实验环境描述 1. 学生机与实验室网络直连; 2 ...

  7. Springboot基于Redisson实现Redis分布式可重入锁【案例到源码分析】

    一.前言 我们在实现使用Redis实现分布式锁,最开始一般使用SET resource-name anystring NX EX max-lock-time进行加锁,使用Lua脚本保证原子性进行实现释 ...

  8. C#foreach 本质( 鸭子类型遍历)

    探讨关于C#中Foreach的本质 要实现foreach需要满足什么条件? 只要类中实现类中的GetEnumerator()方法.MoveNext()方法.Current属性(俗称鸭子类型)都可以使用 ...

  9. C# KeyValuePair<TKey,TValue>的用法

    命名空间:System.Collections.Generic 构造函数:public KeyValuePair (TKey key, TValue value); 属性:只读属性 Key ,只读属性 ...

  10. XStart远程连接Linux图形化界面

    转至:https://zhuanlan.zhihu.com/p/337791712 场景: 因在Linux中安装Oracle11g 需要调用Oracle的图形化界面,此时在宿主机上安装了 Xmanag ...