我有一个带有多个文本输入字段和子表单的表单。有没有一种方法可以根据 DOM 树中的显示方式来访问所有内容?
换句话说,如果我有
<div id="formContent">
<input type="text" value="some stuff" />
<ul>
<li>
<input type="text" value="some sub-stuff" />
<input type="text" value="some sub-stuff" />
<input type="text" value="some sub-stuff" />
</li>
</ul>
<input type="text" value="some stuff" />
<ul>
<li>
<input type="text" value="some sub-stuff" />
<input type="text" value="some sub-stuff" />
<input type="text" value="some sub-stuff" />
</li>
</ul>
<input type="text" value="some stuff" />
<ul>
<li>
<input type="text" value="some sub-stuff" />
<input type="text" value="some sub-stuff" />
<input type="text" value="some sub-stuff" />
</li>
</ul>
</div>
我可以按照它们出现的顺序访问它们并为其分配值吗?
编辑:我问的原因是因为我将允许人们添加和删除主表单和子表单,所以我无法为他们分配 ID。我也不知道每个表单有多少个子选项。
最佳答案
假设它们被包裹在 <form>
中标签(我们在这里看不到),您可以通过 elements[]
访问它们大批。当您没有 id
时,这可以完成工作通过 getElementById()
使用的属性
// Supply the correct index - 0 assumes this is the first form on the page...
var yourForm = document.forms[0];
// Loop over the form elements
for (var i=0; i < yourForm.elements.length; i++) {
yourForm.elements[i].value = "some new value";
}
关于Javascript - 访问元素值? DOM 树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6595118/