1

我可以使用函数 document.getElementById('id') 使用 JavaScript 获取 HTML 对象。如果我得到一个表单,那么我可以通过执行以下操作进一步指定表单中的一个元素:

document.getElementById('form_id').form_element.value="hello world";

如果表单中的元素是输入和文本区域,则此方法有效。(我还没有全部尝试过......)但是,这不适用于无序列表或列表元素。使用表单获取元素后,我无法指定 li 元素。有谁知道这是为什么?此外,无序列表用于不同的形式,所以我不能给它一个唯一的 id。(除非我到处复制粘贴代码......)

4

1 回答 1

2

您可以.getElementsByTagName('ul')在任何 DOM 元素上运行。例如,使用以下 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/

于 2013-07-03T05:39:54.797 回答