我可以使用函数document.getElementById('id')使用JavaScript获取HTML对象。如果我得到一个表单,那么我可以通过执行以下操作来进一步指定表单中的元素:
document.getElementById('form_id').form_element.value="hello world";
如果表单中的元素是输入和文本区域,则此方法有效。 (我还没有尝试过所有...)但是,这对无序列表或列表元素不起作用。一旦我使用表单获取元素,我就无法指定li元素。有谁知道那是为什么?此外,无序列表用于不同的表单,所以我不能给它一个唯一的ID。 (除非我在任何地方复制粘贴代码......)
答案 0 :(得分:2)
您可以在任何DOM元素上运行.getElementsByTagName('ul')
。例如,使用以下HTML:
<form id="form_id">
<input name="form_element"/>
<ul>
<li>foo</li>
<li>bar</li>
</ul>
</form>
这样做:
var form = document.getElementById('form_id');
form.form_element.value = 'hello world';
var ul = form.getElementsByTagName('ul');
ul = ul && ul[0];
console.log(ul);
var lis = form.getElementsByTagName('li');
for (var i = 0; i < lis.length; i++) {
console.log(lis[i].innerText);
}
jsFiddle这里:http://jsfiddle.net/YSpVg/1/