DOM基础操作笔记 | 青训营

113 阅读1分钟

DOM(文档对象模型)是W3C定义的一个标准。在实际开发中,为了实现动态修改元素的效果,可以DOM提供的方法。

常见的DOM节点:元素节点,属性节点,文本节点。

获取元素:

getElementById():通过id来选中元素

document.getElementById("id")

getElementByTagName():通过标签来选中元素

document.getElementByTagName("tag")
  • getElementById()获取的是一个元素,getElementByTagName()获取的是多个元素(伪数组)。
  • getElementById()前只可以接document,而getElementByTagName()前不仅可以接document,还可以接其他DOM对象。
  • getElementById()不可以操作动态创建的DOM元素,而getElementByTagName()可以。

getElementByClassName():通过class来选中元素,获取一个伪数组,但是不能操作动态DOM。

document.getElementByClassName("class")

querySelector()和querySelectorAll():通过CSS选择器的语法来获取所需要的元素。

document.querySelector("selector")
document.querySelectorAll("selector")

querySelector()选取满足条件的第一个元素,querySelectorAll()选取满足条件的所有元素。

getElementsByName():通过name属性来获取表单元素。

document.getElementByName("name")

创建元素:通过createElement()来创建一个元素节点,使用createTextNode()来创建一个文本节点。这种方式被称为“动态DOM操作”,即使用JavaScript创建的元素。

加入元素: appendChild()、insertBefore()

A.append(B);
A.insert(B,ref);  //在ref前插入B

A表示父元素,B表示新元素,ref表示指定元素。

删除元素: removeChild()

A.removeChild(B);

A表示父元素,B表示某个子元素。

复制元素: cloneNode()

obj.cloneNode(bool);

obj表示被复制的元素。bool值为1或者true时,复制元素本身和该元素下的所有子元素;值为0或者false时,仅复制本身。

替换元素: replaceChild()

A.replaceChild(new,old);

A表示父元素,new表示新子元素,old表示旧子元素。