我可以使用函数 document.getElementById('id') 使用 JavaScript 获取 HTML 对象。如果我得到一个表单,那么我可以通过执行以下操作进一步指定表单中的元素:
document.getElementById('form_id').form_element.value="hello world";
如果表单中的元素是输入和文本区域,则此方法有效。 (我还没有全部尝试过...)但是,这对无序列表或列表元素不起作用。使用表单获取元素后,我无法指定 li 元素。有谁知道这是为什么?此外,无序列表用于不同的表单,所以我不能给它一个唯一的 ID。 (除非我到处复制粘贴代码...)
最佳答案
您可以在任何 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/
关于javascript - 无法在 JavaScript 中使用 getElementById 检索 li 或 ul,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17438403/