Javascript 读取数据属性=未定义?

Javascript 读取数据属性=未定义?,javascript,jquery,custom-data-attribute,Javascript,Jquery,Custom Data Attribute,我有如下代码: <ul class="effects-list"> <li data-creative="1">Creative</li> <li data-uplifted="3">Uplifted</li> <li data-energetic="3">Energetic</li> </ul> 我在控制台日志中以以下内容结束: 1 undefined undefined 为什

我有如下代码:

<ul class="effects-list">
   <li data-creative="1">Creative</li>
   <li data-uplifted="3">Uplifted</li>
   <li data-energetic="3">Energetic</li>
</ul>
我在控制台日志中以以下内容结束:

1
undefined
undefined
为什么脚本读取的是第一个
li
元素中的信息,而不是第二个元素中的信息

我做错了什么?如何解决问题


使用上面的代码。我使用的是jQuery 2.1。

因为您使用的是getter版本的
data()
,所以它将只查看给定集合中的第一个元素,该元素不具有上述数据属性

在指定的数据存储中返回 jQuery集合,由数据(名称、值)或HTML5数据集设置-* 属性

解决方案是使用属性存在选择器以正确的元素为目标,然后获取数据值。差不多

var uplifted = effectData.filter('[data-uplifted]').data("uplifted");

演示:

由于您使用的是getter版本的
data()
,它将只查看给定集合中的第一个元素,该元素不具有上述数据属性

在指定的数据存储中返回 jQuery集合,由数据(名称、值)或HTML5数据集设置-* 属性

解决方案是使用属性存在选择器以正确的元素为目标,然后获取数据值。差不多

var uplifted = effectData.filter('[data-uplifted]').data("uplifted");

演示:

啊,这很有道理。我不知道。每天学习新东西。=>谢谢你的帮助。啊,这很有道理。我不知道。每天学习新东西。=>谢谢你的帮助。