2011-04-19 42 views
1

我想在一個特定的無序列表的任何子元素被點擊後用JavaScript提交一個表單。檢查是否點擊任何子元素

該代碼可能看起來有點像這樣,但列表項的數量可能會變得很長。

<ul id="myList"> 
<li id="myListItem1">list item 1<li> 
<li id="myListItem2">list item 2<li> 
<li id="myListItem3">list item 3<li> 
</ul> 

不可能爲每個li添加onclick。此外,我可能無法將代碼附加到ul標籤,因此如果可以解決而不將代碼附加到最好的ul標籤。不幸的是像jquery,mootools等libs可能不會被使用。 UL的id始終是已知的並且是靜態的,但是由於它們的數量可能不同,所以LI的ID將是未知的。

回答

1

爲此,您可以輕鬆地使用代碼,如...

var childNodeArray = document.getElementById('myList').childNodes; 

這會給你的元素的數組,你可以添加click偵聽例如

for(var node in childNodeArray){ 
    node.onclick = function() { alert('here'); }; 
} 
+0

我很抱歉,但我不能得到這個工作。代碼看起來有什麼功能提醒點擊項目的ID? 'code \t

    \t \t
  • 一個
  • \t \t
  • 2
  • \t \t
  • 3
  • \t \t
  • 4個
  • \t
代碼' – Blondie 2011-04-19 14:06:24