2011-03-06 35 views
2

我正在嘗試jQuery中的新數據函數,但無法使其工作。jQuery數據給我undefined

這裏是我用於測試的代碼一點點:

HTML

<ul> 
    <li data-test="list">List item</li> 
    <li data-test="list">List item</li> 
</ul> 

<ul> 
    <li data-name="sida">oko</li> 
</ul> 

JS

var test = $('li').data('name'); 
alert(test); 

上的jsfiddle同樣的事情: http://jsfiddle.net/w95mY/1/

我希望從警報中獲得「sida」。如果我刪除第一個列表,我發現它可以工作。這是爲什麼?我如何解決它?

回答

7

請考慮告訴jQuery如何找到恰好一個元素。例如,告訴它要尋找任何li元素與data-name屬性:

var test = $('li[data-name]').data('name'); 
alert(test); 

或者你可以告訴它來尋找最後li

var test = $('li').last().data('name'); 
alert(test); 

二者均顯示文本「思達警告」。

+0

我喜歡第一個更好。謝謝! – 2011-03-06 15:45:05