最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - jQuery data gives me undefined - Stack Overflow

programmeradmin1浏览0评论

I'm trying the new data-function in jQuery but can't make it work.

Here is a little bit of code I use for testing:

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);

The same thing on jsFiddle: /

I expect to get "sida" from the alert. I found out that it works if I delete the first list. Why is that? How do I solve it?

I'm trying the new data-function in jQuery but can't make it work.

Here is a little bit of code I use for testing:

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);

The same thing on jsFiddle: http://jsfiddle/w95mY/1/

I expect to get "sida" from the alert. I found out that it works if I delete the first list. Why is that? How do I solve it?

Share Improve this question edited Dec 20, 2015 at 19:48 Brian Tompsett - 汤莱恩 5,89372 gold badges61 silver badges133 bronze badges asked Mar 6, 2011 at 14:58 Jens TörnellJens Törnell 24.8k46 gold badges130 silver badges223 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 7

Consider telling jQuery how to find exactly one element. For example, tell it to look for any li element with a data-name attribute:

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

Or you can tell it to look for the last li:

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

Both show an alert with text "sida".

发布评论

评论列表(0)

  1. 暂无评论