首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >document.object Vs.document.getElementById()

document.object Vs.document.getElementById()
EN

Stack Overflow用户
提问于 2013-10-03 15:44:29
回答 3查看 3.6K关注 0票数 5

下面这两种语法有什么区别-

document.objectdocument.getElementById().

我想知道什么时候使用哪个语法

例如-

CODE1(用<form>实现)

代码语言:javascript
运行
复制
<body onload="document.forms[1].innerHTML='hi';">//Alt: onload="document.getElementById('f1').innerHTML='hi';"
<form id=f1>
    <input />
</form>
<form id=f2>
    <input />
</form>
</body>

onload中的两种语法都以相同的方式工作。但这不适用于以下情况-

CODE2(用<div>实现)

代码语言:javascript
运行
复制
<body onload="document.getElementById('div1').innerHTML='hi';">//cannot use the syntax: onload="document.divs[1].innerHTML='hi';"
<div id=div1>hello</div>
<div id=div2>hello</div>
</body>

因此,语法肯定是这样的:document.object不适用于<div>-elements,而是适用于<form>'-element. But **document.getElementById()`**。那我什么时候该用哪一个?

请有人强调这两种语法之间的差异。

事先..。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-03 15:48:05

document.forms是一种非常老的访问东西的方法,还有document.imagesdocument.all,可能还有其他一些我不记得的方法。

访问document.forms[1]的第一个缺陷很简单:如果将另一个表单添加到页面中,在目标表单之前添加另一个表单,该怎么办?突然之间,您必须搜索所有代码以获得对任何内容的引用,并对它们进行更改。

身份证就是从这里进来的。通过只允许页面上的每个ID中的一个,getElementById每次都可以准确地检索它,而不关心同时文档发生了什么。唯一重要的改变是完全删除元素。

票数 4
EN

Stack Overflow用户

发布于 2013-10-03 15:52:17

您可以使用document.object_name找到锚,小程序,嵌入,表单,图像,链接,插件。

要查找HTML元素,如div、span等,您必须使用选择器。您可以通过元素名称、id、类等来获取这些元素。

票数 1
EN

Stack Overflow用户

发布于 2013-10-03 15:57:42

在您的示例中访问div的最简单方法是通过“窗口对象上的命名访问”功能(http://www.whatwg.org/specs/web-apps/current-work/#named-access-on-the-window-object):

而不是

代码语言:javascript
运行
复制
<body onload="document.getElementById('div1').innerHTML='hi';">

您可以使用

代码语言:javascript
运行
复制
<body onload="div1.innerHTML='hi';">

请注意,"div1“是窗口对象的属性,而不是文档对象的属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19163481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档