2012-11-05 155 views
0

有人可以找到我的錯誤是什麼?我有以下的HTML列表jquery選擇器只選擇第一個列表元素

<ul id="left-help-menu"> 
     <li><a href=#">My Library</a> 
      <ul class="left-menu-sub"> 
       <li id="1">A</li> 
       <li id="2">B</li> 
       <li id="3">C</li> 
       <li id="4">D</li> 
       <li id="5">E</li> 

      </ul> 

     </li> 
     </ul> 

和下面的jQuery代碼

$(document).ready(function() { 
$("#left-help-menu li li a").click(function() { 
    var vid = $("#left-help-menu li li").attr("id"); 
      }); 
    }); 

出於某種原因,這個選擇是僅通過粘貼「VID」的艇員選拔第一L1標籤(當我測試它頁面,它總是給我'1')。爲什麼是這樣?

+0

你有什麼期望?每個「id」屬性的數組是否匹配? – alex

+1

請閱讀[文檔](http://api.jquery.com/attr/)。 *獲取匹配元素集合中第一個元素的屬性值* – Phil

回答

1

這就是attr()獲得者的工作方式。它適用於第一個匹配的元素。

如果你想所有匹配id屬性的數組...

var vid = $("#left-help-menu li li").map(function() { return this.id; }).get(); 
+0

哦,我意識到我的錯誤,我真的想在$(this)選擇器上返回id。現在它可以工作。謝謝。 – user1015214

相關問題