2013-05-06 74 views
0

我想在用戶點擊一個鏈接時將數據ID顯示在警報菜單中。但不是每個鏈接的數字都是0。爲什麼我的函數沒有選擇data-id?

Here is a JSFiddle of the issue

JS

$$('.postItem').addEvent('click', function(){ 
    var id = $('data-id'); 
    alert(+id); 
}); 

HTML

<a class="postItem" data-id="9" href="#">Number Nine</a> 

我也用$$選擇數據-ID嘗試,但這個也不能工作。

+0

說不上約MooTools的,但在POJS你會寫:'VAR ID = this.getAttribute('data-id')'。 – RobG 2013-05-06 23:13:21

+0

而在jQuery中它會是'$(this).data('id')'或$(this).attr('data-id')'。 – Barmar 2013-05-06 23:15:18

+0

@RobG我只是你的純JS代碼,它的工作,如果你想添加它作爲答案,我可以接受。謝謝:) – joshuahornby10 2013-05-06 23:19:51

回答

4

Mootools $正在通過它的id將元素轉換爲mootools Element。所以你的情況,你用錯了,data-id你的情況是一個屬性,所以你可以使用getAttribute功能:

http://jsfiddle.net/SGU8E/6/

$$('.postItem').addEvent('click', function(e){ 
    var el = e.target; 
    var id = el.getAttribute('data-id'); 
    alert(id); 
}); 
相關問題