这似乎是一个简单的初学者问题,但我无法在任何地方找到答案。
假设我有这个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(),但我无法使其工作。
答案 0 :(得分:5)
由W3C设计。
真的没有什么可争论的。您可以通过document.forms
访问页面上所有表单的HTMLCollection,就像使用document.images
的图片,document.applets
的applet,document.links
的链接和锚点一样document.anchors
。
答案 1 :(得分:0)
您发布的语法是表单,具体为..它只适用于表单..
您需要使用以下行来使其适用于div ...
document.getElementsByName("myDiv")[0].getElementsByTagName("span")[0].innerHTML = "bar";
还有其他方法可以做到这一点......