前端开发之BOM和DOM

BOM

  BOM:是指浏览器对象模型,它使JavaScript可以和浏览器进行交互。

    1,navigator对象:浏览器对象,通过这个对象可以判定用户所使用的浏览器,包含了浏览器相关信息。

navigator.appName  // Web浏览器全称
navigator.appVersion  // Web浏览器厂商和版本的详细字符串
navigator.userAgent  // 客户端绝大部分信息
navigator.platform   // 浏览器运行所在的操作系统

    2,screen对象:屏幕对象,可以获取一些和屏幕相关的信息。

screen.availWidth  // 可用的屏幕宽度
screen.availHeight  // 可用的屏幕高度

    3,history对象:浏览历史对象,包含了用户对当前页面的浏览历史,但我们无法查看具体的地址,可以简单的用来前进或后退一个页面。

history.forward()  // 前进一页
history.back()  // 后退一页

    4,location对象:用于获取浏览器的当前的网页地址,还可以重定向新的地址。

location.href   // 获取URL
location.href="URL" // 跳转到指定页面
location.reload()   // 重新加载页面

    5,弹出框相关方法

      1,alert方法:警告框,让用户看到某些信息。

alert("浏览此网页注意个人信息保护!");

      2,confirm方法:确认框,用于验证一些用户的选择。

confirm("是否要下载此文件?")

      3,prompt方法:提示框,用于接收用户的输入值。

prompt("请在输入你的答案")

    6,计时相关方法

      1,setTimeout方法:设定多长时间后开始执行一段JavaScript代码。

setTimeout("JavaScript代码",秒数)  // 秒数的单位为毫秒

      2,clearTimeout方法:取消计时设定。

var t=setTimeout("console.log(‘哈哈哈‘)",2000);
clearTimeout(t);

      3,setInterval方法:按设定的周期执行一段JavaScript代码。

setInterval("JavaScript代码",时间间隔)  // 返回ID值

      4,clearInterval方法:取消设定的setInterval()。

clearInterval(setInterval返回的ID值)

DOM

  DOM:是指文档对象模型,使用它可以访问HTML文档中的所有元素。

    DOM树:DOM规定HTML文档中的每一个元素都是一种节点。

      1,document对象:文档节点,代表整个HTML文档

      2,element对象:标签节点,代表文档中的标签

      3,text对象:文本节点,代表标签中的文本内容

      4,attribute对象:属性节点,代表标签中的属性

      5,comment对象:注释节点,代表文档中的添加的注释

    通过这些对象我们就可以操作HTML文档做出各种动态变化。

    1,标签查找

      1,直接查找

document.getElementById("id值")           // 根据ID获取一个标签
document.getElementsByClassName("类名")    // 根据class属性获取
document.getElementsByTagName("标签名")    // 根据标签名获取标签合集

      2,间接查找

document.parentElement            // 父节点标签元素
document.children                 // 所有子标签
document.firstElementChild        // 第一个子标签元素
document.lastElementChild         // 最后一个子标签元素
document.nextElementSibling       // 下一个兄弟标签元素
document.previousElementSibling   // 上一个兄弟标签元素

    2,节点操作

      1,创建节点:createElement(标签名)

document.createElement("div");

      2,添加节点:

// 添加一个子节点
某节点.appendChild(标签名)

// 在某节点内的一个节点之前添加一个节点
某节点.insertBefore(标签名,一个节点)

      3,删除节点:

// 删除某节点下的一个子节点
某节点.removeChild(要删除的节点)

      4,替换节点:

// 替换某节点下的一个子节点
某节点.replaceChild(新节点, 要替换的子节点);

      5,节点的文本:

// 获取节点的文本值
某节点.innerHTML  // 获取节点的所有的标签以及文本值
某节点.innerText   // 只获取节点的文本值

// 设置节点的文本值
某节点.innerHTML = 新的标签和文本值
某节点.innerText = 新的文本值

      6,节点的属性:

// 设置节点的属性和值
某节点.setAttribute("属性名","属性值")

// 获取节点的属性值
某节点.setAttribute("属性名")

// 删除节点的属性
某节点.removeAttribute("属性名")

// 标签的自带属性还可以通过 .属性名 来获取和设置
节点.自带属性名
节点.自带属性名=属性值

      7,获取节点返回值:

// 适用的标签有:input  select  textarea
节点.value

      8,节点的类的操作:

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

  JavaScript操作CSS的属性

    1,对于没有中横线的CSS属性一般直接使用style.属性名即可。如:

obj.style.margin
obj.style.width
obj.style.left
obj.style.position

    2,对含有中横线的CSS属性,将中横线后面的第一个字母换成大写即可。如

obj.style.marginTop
obj.style.borderLeftWidth
obj.style.zIndex
obj.style.fontFamily

  事件

    当用户触发某一条件时,浏览器会运行一些JavaScript代码来改变HTML文件的一些属性,从而完成某一件事情,这个条件就是事件。

    JavaScript中常用的事件:

onclick        当用户点击某个对象时调用的事件句柄。
ondblclick     当用户双击某个对象时调用的事件句柄。

onfocus        元素获得焦点。
onblur         元素失去焦点。               应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
onchange       域的内容被改变。             应用场景:通常用于表单元素,当元素内容被改变时触发.(select联动)

onkeydown      某个键盘按键被按下。          应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
onkeypress     某个键盘按键被按下并松开。
onkeyup        某个键盘按键被松开。
onload         一张页面或一幅图像完成加载。
onmousedown    鼠标按钮被按下。
onmousemove    鼠标被移动。
onmouseout     鼠标从某元素移开。
onmouseover    鼠标移到某元素之上。

onselect      在文本框中的文本被选中时发生。
onsubmit      确认按钮被点击,使用的对象是form。

    事件要想被触发就要事先将其绑定到对应的标签上,JavaScript绑定事件的方式有:

      1,在标签内添加事件属性

<div id="d1" onclick="changeColor(this);">点我</div>  // this表示触发事件的当前元素
<script>
  function changeColor(ths) {
    ths.style.backgroundColor="green";
  }
</script>

      2,在body标签的最后的script标签里添加事件

<div id="d2">点我</div>
<script>
  var divEle2 = document.getElementById("d2");
  divEle2.onclick=function () {
    this.innerText="真点啊";
  }
</script>

原文地址:https://www.cnblogs.com/zxc-Weblog/p/8574651.html

时间: 2024-10-05 23:58:49

前端开发之BOM和DOM的相关文章

前端开发之JavaScript HTML DOM理论篇二

主要内容: 1.HTML DOM元素 2.HTML DOM事件 3.HTML DOM实例 一.DOM元素 主要操作有添加.删除和替换HTML元素 1.创建新的HTML元素 (1)方法一: appendChild() 追加 如需向 HTML DOM 添加新元素,您首先必须创建该元素,然后把它追加到已有的元素上. 实例和解析: <div id="box1"> <p id="p1">This is first paragraph.</p>

高效Web前端开发之路:YUI 3.15 PDF扫描版

JavaScript是一种最初由Netscape的LiveScript发展而来的面向对象的Web脚本语言,被ECMA国际定义为国际化标准--ECMAScript.JavaScript具有使用局限性.在Web方面,其必须与各种DOM技术结合才能发挥作用.因此,一些具有开拓创新精神的开发者们便开发出了各种丰富的第三方框架,通过第三方的支持代码实现浏览器兼容性的统一.代码的简化以及功能的增强. <高效Web前端开发之路:YUI 3.15>作者便是在此背景下,以国外最优秀的JavaScript框架之一

前端基础之BOM和DOM:

目录 前端基础之BOM和DOM 前言 window对象 BOM与DOM操作 DOM学习流程 一些常用的Window方法: window的子对象 navigator对象(了解即可) screen对象(了解即可) history对象(了解即可) location对象 弹出框 计时相关 DOM HTML DOM 树 查找标签 直接查找 间接查找 节点操作 创建节点 添加节点 删除节点: 替换节点: 获取值操作 对类属性操作 class的操作 指定CSS操作 事件 常用事件 绑定方式: window.o

移动平台前端开发之WebApp代码技巧

1.首先我们来看看webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" /> <meta content="yes" name="apple-mobile-web

前端开发之html基础知识02

经典表格:表格没有列的概念,只有行的概念, 一行 tr,行中的单元格 td表头的突出显示:tr>th <table width="400px" align="center" border="1px" cellspacing="0" cellpadding="5px" > <!-- align = "center" 表格整体剧中--> <caption&

前端开发之CSS基础知识02

重要: 行内元素中只能容纳文本或其他的行内元素 a标签例外 文字类型的块标签,不要放其他块元素 如 P H1 CSS规范: .demo {} 空格 font-size: 12px; 空格 .a1, .a2, .a3 {} 空格 后代选择器或子代选择器最好不要超过三层 文字分为 顶线 中线 基线 底线 CSS特性: 层叠行:若冲突,按照最后的为准 CSS权重(重要): 标签 0.0.0.1 类选择器 0.0.1.0 id选择器 0.1.0.0 内联样式 1.0.0.0 !important 无穷大

30.Python前端基础之BOM和DOM

前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DOM相关知识. JavaScript分为 ECMAScript,DOM,BOM. BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”. DOM (Document Object Model)是指文档对象模型,通过它,可以访问HT

【开源专访】Sea.js创始人玉伯的前端开发之路

摘要:玉伯,淘宝前端类库 KISSY.前端模块化开发框架SeaJS.前端基础类库Arale的创始人.本期[开源专访]我们邀请玉伯来为我们分享一些关于前端框架.前端开发的那些事,以及前端大牛是如何炼成的. 在Web应用程序的用户体验越来越被重视的今天,前端开发的地位也上升到了前所未有的高度,而随之而来的也有更多的挑战. 为了将前端开发者繁重的工作变得简单,框架应运而生.国内也不乏一些非常优秀的前端开发框架.本期[开源专访]我们邀请到了国内前端大牛玉伯(@玉伯也叫射雕),请他为我们分享一些关于前端框

前端基础之BOM和DOM

核心知识点: 1.BOM(浏览器窗口对象模型) DOM(文本对象模型) 2.window对象是客户端JavaScript最高层对象之一,属于全局对象,一般书写可以省略 3.window对象常用的方法 (1)窗口对象方法 (2)子对象方法 a.navigator对象(一般用于读取浏览器信息) b.screen对象 c.history对象(forward back go) d.location对象(reload href) 4.DOM:是一套对文档抽象和概念化的一种方法,可以说是一个应用程序接口 5