HTML   发布时间:2022-04-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了javascript – Document.getElementById()返回名称等于id指定的元素大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我之前在this SO中提到过该文档中IE6 / 7(以及某些版本的Opera)的有趣行为.getElementById可以找到一个元素,其name属性已定义但不是id属性,这样

function f() {
    document.getElementById("a1").value = ...;
}
...

实际上适用于这些版本.

通过网络搜索我发现了Chris Bloom的this bug report,其中名为Milo van der Leij的用户指出了以下内容(由他在this w3c spec中提到):

在他们的辩护中:“id和name属性共享相同的名称空间.”

id和name属性共享同一名称空间是什么意思?为什么这个条件足以让IE6 / 7 / Opera在他们的JS引擎中实现这种行为?

最佳答案
术语“相同名称空间”意味着名称和ID不是完全分开的.您可以在一个特定对象上使用相同的名称和ID,但不能在一个对象上使用name =“foo”而在另一个对象上使用id =“foo”.这造成了冲突.

这就是那些浏览器决定实现的方式.每个元素都有一个全局变量,其id包含dom元素.这就是他们实施的方式.它不是标准的,它不是在更现代的浏览器中完成的方式(除了一些向后兼容性).

对要检索的任何DOM元素使用id值.在已过帐表单中使用名称值进行服务器标识.

如果您不在一个对象上使用id而在另一个对象上使用相同的名称,那么您的代码在名称和ID之间不会发生冲突,并且通常不会给予特定元素相同的名称和ID.

大佬总结

以上是大佬教程为你收集整理的javascript – Document.getElementById()返回名称等于id指定的元素全部内容,希望文章能够帮你解决javascript – Document.getElementById()返回名称等于id指定的元素所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: