4

这似乎是一个简单的初学者问题,但我无法在任何地方找到答案。

假设我有这个 HTML:

<form name="myForm">
   <input type="text" name="myTxt">
</form>

然后我可以使用以下javascript

document.myForm.myTxt.value = 'foo';

但是如果我有一个 div 而不是一个表单呢?

<div name="myDiv">
   <span name="mySpan"></span>
</div>

为什么我不能在这里做同样的事情,比如

document.myDiv.mySpan.innerHTML = "bar";

似乎应该可以这样做,而不必使用 getELementById(),但我无法使其工作。

4

2 回答 2

5

由 W3C 设计。

真的没什么好争论的。您可以通过 访问页面上所有表单的 HTMLCollection document.forms,就像您可以使用 图像document.images、小程序document.applets、链接document.links和锚点一样document.anchors

http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-1689064

于 2012-08-18T16:41:06.263 回答
0

您发布的语法是针对表格的,具体来说..它只适用于表格..

您将需要使用以下行使其适用于 div...

document.getElementsByName("myDiv")[0].getElementsByTagName("span")[0].innerHTML = "bar";

还有其他方法可以做到这一点......

于 2012-08-18T16:43:13.853 回答