2009-02-04 49 views
0

我需要提取列表ID「first」,「second」和「final」。我的列表有:jQuery中的列表ID

<div id="wrapper"> 
    <ul id="testnav"> 
     <li> <a href="#">Page</a></li> 
     <li> <a href="#">Page.</a> 
      <ul id="subnav"> 
       <li id="first"><a href="#">Value1</a></li> 
       <li id="second"><a href="#">Value2</a></li> 
      </ul> 
     </li> 
    </ul> 
    <ul id="navbelow"> 
     <li id="final"><a href="#">Next</a> 
     </li> 
    </ul> 

我的jQuery代碼如下,它返回一個空警報。爲了提醒列表ID「第一」,「第二」和「最終」,我應該改變什麼?

$("#testnav a").click(function(ev){ 
    var a=$(this).attr('id'); 
    alert(a); // Not working 
    ev.preventDefault(); 

});

回答

1

腳本中的「this」指的是錨點,而不是列表項。您在錨上沒有ID,所以在請求.attr(「id」);

我建議使用.parent()來訪問列表項,或者把你的點擊事件放在列表項上而不是錨上。

0

如前所述,您指的是錨(A)元素而不是列表元素。您將需要使用類似$(this).prev('li')而不是$(this)