这个问题听起来应该是:“具有提供的ID的HTML标签是否会成为可全局访问的DOM元素?”
答案是肯定的!
这就是它的工作方式,这就是W3C最初引入ID的原因。:
解析的脚本环境中的HTML Tag的ID成为其对应的DOM元素句柄。
但是,Netscape Mozilla拒绝遵循(侵入他们的)W3C,并顽固地使用不推荐使用的Name属性来造成破坏,因此破坏了W3C引入唯一ID所带来的脚本功能和编码便利性。
在Netscape Navigator 4.7惨败之后,他们的开发人员全部进入并渗透到W3C,而他们的同事则以错误的做法和错误的示例取代了Web。强制使用和重用已经过时的Name属性[!,这并不意味着是唯一的]与ID属性相提并论,以便利用ID句柄访问特定DOM元素的脚本会被破坏!
打破他们的做法,就像编写和发布大量的编码课程和示例(他们的浏览器始终无法识别)一样,例如 至少document.all.ElementID.property
不要ElementID.property
使其效率低下,并为浏览器提供更多的开销,以防万一它不会仅仅破坏它。 HTML域,方法是使用相同的标记(现在[1996-97],已弃用),名称和标准ID属性为其提供相同的标记值。
他们很容易地说服了当时的绝大多数无知的代码编写爱好者,他们的名字和ID实际上是相同的,除了ID属性更短,因此比古老的Name属性更节省字节和更方便编码。这当然是骗人的。或者-在其取代已发表的HTML文章中,说服您需要为标签提供名称和ID的文章,以便脚本引擎可以访问它们。
马赛克杀手[代号“ Mozilla”]非常生气,他们以为“如果我们失败了,互联网也应该如此”。
另一方面,崛起的Microsoft太天真了,他们以为应该保留不推荐使用的标记并标记为删除Name属性,并将其视为唯一标识符的ID来对待,以便他们不会破坏该脚本的脚本功能Netscape学员编码的旧页面。他们是致命的错误...
而且,返回ID冲突元素的数组集合也不是解决此人为问题的方法。实际上,它打败了整个目标。
这是W3C变得丑陋并给了我们白痴和诸如此类document.getElementById
的洛可可式令人讨厌的语法的唯一原因...(...)