我一直都知道我们需要将id属性添加到元素中才能获得一些独特的访问权限。 标题只是html文档中的一个元素,因此它是一个独特的元素。
它与javascript和Frames有关吗?或者因为我们还有属性标题,并且对于某些javascript函数再次更容易通过ID找到它?
感谢。
答案 0 :(得分:3)
原因有两方面:
按标签名称(document.getElementsByTagName)访问任何内容总是比通过id(document.getElementById)访问内容要慢。这是因为getElementByTagName始终返回LIVE nodeList(或HTMLCollection)。这意味着它不仅需要搜索整个文档结构来查找所有标题(并返回标题集合),它还会使列表保持实时和更新,以便插入。然而,大多数浏览器都有一种非常快速的索引id的方法,它只会返回元素引用(即不需要保留任何更新)。
如果页面上有框架,则document.getElementsByTagName('title')将返回页面上所有标题的列表(即包括任何iframe标题),这显然不是他们想要的。然后,他们必须搜索nodeList以找到他们正在寻找的标题。我在jsfiddle上做了一个简单的例子:http://jsfiddle.net/9QtZu/:
var titles = document.getElementsByTagName('title');
console.log(titles);
因此,使用document.getElementById可以让他们更快地访问他们所追求的主标题,同时提高性能。没有比赛。
https://developer.mozilla.org/en-US/docs/Web/API/document.getElementById https://developer.mozilla.org/en-US/docs/Web/API/element.getElementsByTagName