下面这两种语法有什么区别-
document.object
和document.getElementById()
.
我想知道什么时候使用哪个语法?
例如-
CODE1(用<form>
实现)
<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>
实现)
<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()`**。那我什么时候该用哪一个?
请有人强调这两种语法之间的差异。
事先..。
发布于 2013-10-03 15:48:05
document.forms
是一种非常老的访问东西的方法,还有document.images
和document.all
,可能还有其他一些我不记得的方法。
访问document.forms[1]
的第一个缺陷很简单:如果将另一个表单添加到页面中,在目标表单之前添加另一个表单,该怎么办?突然之间,您必须搜索所有代码以获得对任何内容的引用,并对它们进行更改。
身份证就是从这里进来的。通过只允许页面上的每个ID中的一个,getElementById
每次都可以准确地检索它,而不关心同时文档发生了什么。唯一重要的改变是完全删除元素。
发布于 2013-10-03 15:52:17
您可以使用document.object_name找到锚,小程序,嵌入,表单,图像,链接,插件。
要查找HTML元素,如div、span等,您必须使用选择器。您可以通过元素名称、id、类等来获取这些元素。
发布于 2013-10-03 15:57:42
在您的示例中访问div的最简单方法是通过“窗口对象上的命名访问”功能(http://www.whatwg.org/specs/web-apps/current-work/#named-access-on-the-window-object):
而不是
<body onload="document.getElementById('div1').innerHTML='hi';">
您可以使用
<body onload="div1.innerHTML='hi';">
请注意,"div1“是窗口对象的属性,而不是文档对象的属性。
https://stackoverflow.com/questions/19163481
复制相似问题