第十八天易忘知识点-JS

day18

DOM是JS操作网页的接口,全称为“文档对象模型”(Document Object Model)。它的作用是将网页转为一个JS对象,从而可以用脚本进行各种操作(比如增删内容)。

Node类型

DOM Level 1 描述了名为 Node 的接口,这个接口是所有 DOM 节点类型都必须实现的。Node 接口在 JavaScript中被实现为 Node 类型,在除 IE之外的所有浏览器中都可以直接访问这个类型。在 JavaScript中,所有节点类型都继承 Node 类型,因此所有类型都共享相同的基本属性和方法。

属性

  • nodeType属性返回一个整数值,表示节点的类型,常用节点类型如下
  • nodeName属性返回节点的名称
  • nodeValue属性返回一个字符串,表示当前节点本身的文本值,该属性可读写只有文本节点(text)、注释节点(comment)和属性节点(attr)有文本值.
  • textContent属性返回当前节点和它的所有后代节点的文本内容
  • nextSibling属性返回紧跟在当前节点后面的第一个同级节点。如果当前节点后面没有同级节点,则返回null
    (注意:可能会获取到“空格”或“回车”这样的文本节点)
  • previousSibling属性返回当前节点前面的、距离最近的一个同级节点。如果当前节点前面没有同级节点,则返回null
  • parentNode属性返回当前节点的父节点。对于一个节点来说,它的父节点只可能是三种类型:元素节点(element)、文档节点(document)和文档片段节点(documentfragment)
  • parentElement属性返回当前节点的父元素节点。如果当前节点没有父节点,或者父节点类型不是元素节点,则返回null
  • firstChild属性返回当前节点的第一个子节点,如果当前节点没有子节点,则返回null,last则返回最后一个子节点。
  • childNodes属性返回一个类似数组的对象(NodeList集合),成员包括当前节点的所有子节点

方法

  • appendChild方法接受一个节点对象作为参数,将其作为最后一个子节点,插入当前节点。该方法的返回值就是插入文档的子节点。
  • insertBefore方法用于将某个节点插入父节点内部的指定位置。
  • removeChild方法接受一个子节点作为参数,用于从当前节点移除该子节点。返回值是移除的子节点。
  • replaceChild方法用于将一个新的节点,替换当前节点的某一个子节点。
  • cloneNode() 方法返回调用该方法的节点的一个副本.
var dupNode = node.cloneNode(deep);

node将要被克隆的节点
dupNode克隆生成的副本节点
deep 可选

是否采用深度克隆,如果为true,则该节点的所有后代节点也都会被克隆,如果为false,则只克隆该节点本身。

var p = document.getElementById("para1"),
var p_prime = p.cloneNode(true);

Document类型

document.querySelector()返回文档中匹配指定CSS选择器的第一元素
document.createElement(element)
创建一个新的HTML元素,要与appendChild() 或 insertBefore()方法联合使用。其中,appendChild() 方法在节点的子节点列表末添加新的子节点。insertBefore() 方法在节点的子节点列表任意位置插入新的节点。
document.write()
向文档写入文本或 HTML 表达式 或 JavaScript 代码。

<script>
  document.write("<p>Hello world!</p>");
  document.write("<span>Hello DOM!</span>");
  document.write("Hello Weekend!");
</script>

ELement类型

属性

attributes:返回一个与该元素相关的所有属性的集合。

classList:返回该元素包含的 class 属性的集合。

className:获取或设置指定元素的 class 属性的值。

clientHeight:获取元素内部的高度,包含内边距,但不包括水平滚动条、边框和外边距。

clientTop:返回该元素距离它上边界的高度。

clientLeft:返回该元素距离它左边界的宽度。

clientWidth:返回该元素它内部的宽度,包括内边距,但不包括垂直滚动条、边框和外边距。

innerHTML:设置或获取 HTML 语法表示的元素的后代。

tagName:返回当前元素的标签名。

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注