JS之DOM常见用法

修改样式

可以修改元素的style属性,修改结果直接反映到页面元素

document.querySelector("p").style.color = "#ff0000";
document.querySelector("p").style.fontSize = "30px";
document.querySelector("header").style.backgroundColor = "#fff000";

获取样式

使用getComputedStyle方法获取元素计算后的样式,不要通过node.style属性获取。

var node = document.querySelector("p");
var color = window.getComputedStyle(node).color;
console.log(color);

class操作

修改样式尽量使用class的新增,修改,删除来实现

var nodeDiv = document.querySelector("div");
console.log(nodeDiv.classList);
nodeDiv.classList.add("active"); //新增class="active"
nodeDiv.classList.remove("active"); //删除class="active"
nodeDiv.classList.toggle("active"); //如果没有class="active",则新增,如果有class="active",则删除
console.log(nodeDiv.classList.contains("active")); //判断时候拥有class="active",返回值为布尔值

页面宽高

clientWidth/clientHeight
offsetWidth/offsetHeight
document.body.clientHeight
document.body.offsetHeight
scrollHeight

元素滚动内容的总高度(显示部分内容高度和隐藏部分内容高度之和),如果没有滚动条,scrollHeight等于clientHeight。

document.body.scrollheight
scrollTop

滚动的高度

document.body.scrollTop
window.innerHeight

窗口的高度

window.innerHeight
getBoundingclientRect()

获取元素在视窗中的位置

HTMLCollection和NodeList

节点都是单个对象,有时会需要一种数据结构,容纳多个节点。DOM提供两种集合对象,用于实现这种节点集合:NodeList和HTMLCollection。

NodeList对象代表一个有序的节点列表,HTMLCollection是一个接口,表示HTML元素的集合,它提供了可以遍历列表的方法和属性。

两种集合对比:
相同点:都是类数组对象,节点的变化都会反映在集合中
不同点:少部分方法不同,例如NodeList对象有forEach方法,而HTMLCollection没有

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  •   DOM 1 级主要定义的是 HTML 和 XML 文档的底层结构。   DOM2 和 DOM3 级则在这个结构...
    霜天晓阅读 5,366评论 1 3
  • DOM 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它给文档(结构树)提供了一个结构化的表述并且定...
    LouisJ阅读 1,477评论 0 0
  • 文档对象模型 (DOM) 是HTML和XML文档的编程接口。它给文档(结构树)提供了一个结构化的表述并且定义了一种...
    李诺哦阅读 2,444评论 0 0
  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 9,091评论 0 7
  • 最近工作比较忙, 分分钟能原地爆炸的那种忙碌与无助。 前几日下班路过一家新开的手工馆, 有一种别人过上了自己期待的...
    手执桔梗阅读 2,806评论 0 0

友情链接更多精彩内容