Document(二)

(1)document.doctype

返回 doctype 或 null(如果没有)。

但是一般来说,我们在写 HTML 文档之前,最顶层是一般都要写上文档声明的。

现在的文档类型都是 HTML 5。


(2)document.documentElement

返回文档元素。

它所返回的是文档对象(document)的根元素(例如,HTML文档的 元素)。

我们来看一个知乎注册页的控制台吧:

很清楚的看出来了,我们的属性返回的是整个 html 文档。


(3)collection = document.getElementsByTagName(qualifiedName)

如果 qualifiedName 是 "*",则返回所有后代元素的 HTMLCollection。
否则,返回其限定名为 qualifiedName 的所有后代元素的 HTMLCollection(与 HTML 文档中的 HTML 命名空间中的元素不区分大小写)。

返回一个包括所有给定标签名称的元素的 HTML 集合 HTMLCollection。 整个文件结构都会被搜索,包括根节点。返回的 HTML 集合是动态的,意味着它可以自动更新自己来保持和 DOM 树的同步而不用再次调用 document.getElementsByTagName() 。

一般用于返回标签文档。

const p = document.getElementsByTagName('p');
console.log(p);
Document(二)_第1张图片

(4)collection = document.getElementsByTagNameNS(namespace, localName)

返回给定标签名称属于给定命名空间的元素列表。搜索完整文档,包括根节点。

更具体的来说:

  1. 如果 namespace 和 localName 是 "*",则返回所有后代元素的 HTMLCollection。
  1. 如果只有命名空间是 "*",则返回本地名为 localName 的所有后代元素的 HTMLCollection。
  2. 如果只有 localName 是 "*",则返回其命名空间为命名空间的所有后代元素的 HTMLCollection。
  3. 否则,返回其命名空间为命名空间且本地名称为 localName 的所有后代元素的 HTMLCollection。

这个方法我没有用过,所以也讲不了,但貌似使用的地方很少很少。


(5)collection = document(element).getElementsByClassName(classNames)

返回一个类似数组的对,包含根节点。你也可以在任意元素上调用 getElementsByClassName()
方法,它将返回的是以当前元素为根节点,所有指定 class 名称的子元素。

  • 获取所有 class 为 'test' 的元素:
document.getElementsByClassName('test');
  • 获取所有 class 同时包括 'red' 和 'test' 的元素:
document.getElementsByClassName('red test');
  • 在 id 为 'main' 的元素的子结点中,获取所有 class 为 'test' 的元素:
document.getElementById('main').getElementsByClassName('test');

以上的三个例子,就是我们最常用的了。

本节结束。

你可能感兴趣的:(Document(二))