2015-11-04 60 views
0

我需要註冊點擊ul列表中的元素a並獲得a的id。jQuery點擊ul的內部並獲得它的屬性

$("#nativeLang > ul > li > a").click(function(){ 
    alert($(this).attr("id")); 
}); 

此代碼無效。 我找到了另一種方式:

$("#nativeLang > ul").on("click", "a", function(event){ 
    alert($(this).attr("id")); 
}); 

但在這裏我不能點擊的元素的中的ID。

HTML

<li class="dropdown" id="nativeLang"> 
    <ul class="dropdown-menu"> 
     <li><a href="#" id="l-6">English</a></li> 
    </ul> 
</li> 
+0

添加您的HTML標記,以及你的問題吧。 – taxicala

+0

在此處運行良好:http://jsfiddle.net/barmar/5nty3rau/ – Barmar

+0

添加了HTML片段。 – Tolyas

回答

2

如果你動態插入這些<li>個標籤,那麼你需要使用$(document).on(...);

$(document).on("click", "#nativeLang > ul > li > a", function(event){ 
 
    $('#Result').html($(this).attr("id")); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<li class="dropdown" id="nativeLang"> 
 
    <ul class="dropdown-menu"> 
 
     <li><a href="#" id="l-6">English</a></li> 
 
    </ul> 
 
</li> 
 

 
<div id="Result" ></div>

+1

它的工作原理。謝謝。 – Tolyas

+0

沒問題,很高興我能幫忙:) – Raffi

0

HTML:

<li class="dropdown" id="nativeLang"> 
     <ul class="dropdown-menu"> 
      <li><a href="#" id="l-6">English</a></li> 
     </ul> 
    </li> 

JS:

$("#nativeLang > ul").on('click', 'a', function(){ 
    alert(this.id); 
}); 

CODEPEN DEMO

+0

我知道,這只是一個例子,因爲我看不到他的dom。 –

+0

@smerny那裏,DOM xP沒有onclicks。快樂? –