javascript - 无法在 JavaScript 中使用 getElementById 检索 li 或 ul

标签 javascript html getelementbyid

我可以使用函数 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/

相关文章:

javascript - 更改所有具有 id= 值的元素

javascript - 书中的示例之一 "Javascript - The Definitive Guide"不起作用

访问实例方法时的 JavaScript OO 问题

javascript - 如何通过ajax在Js图表中设置值?

javascript - 选择框在清空时不刷新,然后添加回选项

php - 选择后加载隐藏选项卡图像

html - 绝对/相对定位问题

javascript - 通过 JavaScript 创建时内联 block 元素的行为不一致

javascript - document.getElementById 不在一个文件中工作但在其他文件中工作

javascript - 为什么我们被教导将 document.getElementById ("id") 分配给变量,然后将该变量与属性一起使用?