JavaScript 之 DOM and BOM 总结

简介: JavaScript 之 DOM and BOM 总结


一小池勺❤️❤️❤️ ❤️❤️❤️❤️胸有惊雷而面如平湖者,可拜上将军也。


前言

JavaScript 之 DOM and BOM 操作

认识DOM

文档对象模型( Document Object Model),简称DOM,是W3c组织推荐的处理可扩展标记语言(HTML或XML)的标准编程接口

W3C定义了一系列的DOM接口,通过这些DOM接口可以改变网页的内容,结构和样式

认识DOM树

DOM把以下内容都看作是对象

  • 文档: 一个页面就是一个文档,DOM中用document表示
  • 元素: 页面中的所有标签都是元素,DOM中用element表示
  • 节点: 网页中所有的内容都是节点(标签,属性,文本,注释等),DOM中用node表示

DOM 获取元素方法合集

页面加载要从上往下,因为要先有标签,才能获取标签

  • 获取Html元素
document.documentElement
// 获取html元素
var html=document.documentElement
console.log(html) //html 元素对象

  • 获取body元素
document.body
var body=document.body
console.log(body)

  • 根据ID获取

get 获取 element 元素 by 通过 => getElementById(“one”)

参数: id 是 大小写敏感 的字符串

返回一个特定的匹配ID的元素,如果找不到就返回 null

<div id="box">
  123
</div>
let he = document.getElementById("box")
console.log(he); // <div id="box">123</div>
console.log(typeof he); // object

  • 根据标签名获取

返回值是:获取过来的元素对象的集合 ,以伪数组的形式储存

获取指定的标签名:

document.getElementsByTagName("标签名")

获取某个元素(父元素)内部所有指定标签名的子元素:

父元素必须是单个对象(指明是哪一个元素对象),获取的时候不包括父元素自己

element.getElementsByTagName("标签名")
<body>
      <ul>
          <li>我是JavaScript1</li>
          <li>我是JavaScript2</li>
      </ul>
      <ol id="ol">
          <li>我是html1</li>
          <li>我是html2</li>
          <li>我是html3</li>
          <li>我是html4</li>
      </ol>
 </body>
<script type="text/javascript">
      let ul = document.getElementsByTagName("ul")
      console.log(ul) // 返回的是一个元素列表,不是数组,不可以使用数组的内置方法
      console.log(ul[0].getElementsByTagName("li")) // HTMLCollection(2) [li, li]
      let ol = document.getElementById("ol")
      console.log(ol.getElementsByTagName("li")) // HTMLCollection(4) [li, li, li, li]
</script>

  • 根据类名获取
document.getElementsByClassName("类名") // 返回类名元素对象集合
<div class="box"></div>
 <div class="box"></div>
 <div id="nav"></div>
 let box=document.getElementsByClassName("box")
 console.log(box); // HTMLCollection(2) [div.box, div.box]
  • 根据选择器获取

有相同的元素时,选择第一个

document.querySelector('选择器')
<div class="box"></div>
 <div class="box"></div>
 <div id="nav"></div>
 <ul>
     <li>列表1</li>
     <li>列表2</li>
 </ul>
 let firstbox = document.querySelector('.box')
 console.log(firstbox) // <div class="box"></div>
 let nav=document.querySelector('#nav')
 console.log(nav) // <div id="nav"></div>
 let li = document.querySelector("li");
 console.log(li) // <li>列表1</li>
  • 根据指定选择器返回所有元素对象集合
document.querySelectorAll("选择器") // 根据指定选择器返回所有元素对象集合
<div class="box"></div>
 <div class="box"></div>
 <div id="nav"></div>
 <ul>
     <li>列表1</li>
     <li>列表二</li>
 </ul>
 let all =document.querySelectorAll(".box")
 console.log(all);// NodeList(2) [div.box, div.box]
 let lis = document.querySelectorAll("li")
 console.log(lis)// NodeList(2) [li, li]
目录
相关文章
|
1月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
18天前
|
JavaScript 前端开发 索引
js中DOM的基础方法
【10月更文挑战第31天】这些DOM基础方法是操作网页文档结构和实现交互效果的重要工具,通过它们可以动态地改变页面的内容、样式和行为,为用户提供丰富的交互体验。
|
18天前
|
缓存 JavaScript UED
js中BOM中的方法
【10月更文挑战第31天】
|
19天前
|
JavaScript 前端开发 开发者
.js的dom元素操作
【10月更文挑战第29天】通过灵活运用这些 DOM 元素操作方法,JavaScript 可以实现丰富的网页交互效果,如动态更新页面内容、响应用户操作、创建和删除页面元素等。在实际开发中,开发者可以根据具体的需求和场景,选择合适的 DOM 元素操作方法来实现所需的功能,为用户提供更加流畅和动态的网页体验。
|
29天前
|
缓存 编解码 JavaScript
DOM 和 BOM 在项目中应用时的性能优化方法
【10月更文挑战第19天】总之,优化 DOM 和 BOM 的性能需要综合考虑多个方面,通过合理的设计和技术手段,提升项目的运行效率和用户体验。在实际开发中,要不断地进行性能优化实践,以适应不断变化的需求和技术发展。
|
29天前
|
JavaScript 安全 物联网
DOM 和 BOM 在项目中的应用
【10月更文挑战第19天】在现代网页开发和应用项目中,DOM(文档对象模型)和 BOM(浏览器对象模型)扮演着至关重要的角色。它们为开发者提供了与网页文档和浏览器环境进行交互的能力,使项目能够实现丰富的功能和用户体验。
|
29天前
|
XML 编解码 JavaScript
DOM(文档对象模型)和 BOM(浏览器对象模型)
【10月更文挑战第19天】在前端开发中,理解 DOM(文档对象模型)和 BOM(浏览器对象模型)是至关重要的。它们是 Web 开发的基础,为我们提供了与网页文档和浏览器进行交互的能力。
|
1月前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
62 4
|
2月前
|
JavaScript 前端开发 索引
JavaScript HTML DOM 节点列表
JavaScript HTML DOM 节点列表
20 5
|
2月前
|
JavaScript 前端开发 索引
JavaScript HTML DOM 集合(Collection)
JavaScript HTML DOM 集合(Collection)
30 4