2011-08-08 85 views
0

您好我有一個使用LI & UL標籤的下拉菜單。如何獲得LI的父母

例如,現在

<ul> 

     <li><a href="#">Parent 1</a> 
     <ul> 
      <li id = "Child 1"><a href="#">Child 1</a></li> 
      <li id = "Child 2"><a href="#">Child 2</a></li> 
     </ul> 
     </li> 
     <li><a href="#">Parent 2</a> 
     <ul> 
      <li id = "Child 3"><a href="#">Child 3</a></li> 
      <li id = "Child 4"><a href="#">Child 4</a></li> 
     </ul> 
     </li> 
</ul> 

我的問題是,當我在兒童單擊1然後在得到股利應顯示家長1:兒童1。我怎樣才能做到這一點?

謝謝。

回答

0
<ul> 

     <li><a href="#">Parent 1</a> 
     <ul> 
      <li id = "Child 1"><a href="#" onclick="alert(this.parentNode.parentNode.parentNode.firstChild.innerText + ':' + this.innerText)">Child 1</a></li> 
      <li id = "Child 2"><a href="#">Child 2</a></li> 
     </ul> 
     </li> 
     <li><a href="#">Parent 2</a> 
     <ul> 
      <li id = "Child 3"><a href="#">Child 3</a></li> 
      <li id = "Child 4"><a href="#">Child 4</a></li> 
     </ul> 
     </li> 
</ul> 

原因是您點擊鏈接。所以你必須通過ul,到li,然後得到它的第一個客戶端,這是包含Parent1的鏈接。

2
this.parentElement().getAttribute('id'); 

這將這樣的伎倆

其中this點擊鏈接

因此,如果該方法是

function linkClick(obj) 
{ 
    alert(obj.parentElement().getAttribute('id') + ':' + obj.innerHTML); 
} 

所有你需要做的是onclick事件附加到您的鏈接

<a onclick="linkClick(this); return false;" href="#">Child 1</a>