[英]Cannot retrieve an li or ul using getElementById in JavaScript
我可以使用JavaScript使用函數document.getElementById('id')獲得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/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.