2013-07-03 23 views
0

我可以使用函數document.getElementById('id')使用JavaScript來獲取HTML對象。如果我得到一個表格,然後我還可以通過做類似以下指定形式的元素:無法使用JavaScript中的getElementById檢索li或ul

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

這工作,如果在表單中的元素是輸入和文本區域。 (我沒有嘗試過所有的......)但是,這對於無序列表或列表元素不起作用。一旦我使用表單獲取元素,我無法指定li元素。有誰知道這是爲什麼?另外,無序列表用於不同的表單,所以我不能給它一個唯一的ID。 (除非我無處不在複製粘貼代碼...)

+1

檢查

<form id="form_id"> <input name="form_element"/> <ul> <li>foo</li> <li>bar</li> </ul> </form> 

做到這一點Web/API/Document.querySelectorAll – elclanrs

+0

@elclanrs,謝謝,這是正確的軌道。你知道我是否可以通過id或name來指定選擇器嗎? – Sal

+0

您可以指定任何有效的CSS選擇器。只要介意舊的瀏覽器... – elclanrs

回答

2

您可以在任何DOM元素上運行.getElementsByTagName('ul')。例如,使用下面的HTML:這裏

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:這裏https://developer.mozilla.org/en-US/docs/ http://jsfiddle.net/YSpVg/1/