如何使用 javascript 返回数据属性数组
How to return an array of data attributes using javascript?
请原谅我糟糕的JavaScript知识。
我正在尝试从标记为"选定"的 DOM 元素返回一个 ID 值数组,例如 [1,2,4]。
<tr data-selected = 'true' data-id = '1'></tr>
<tr data-selected = 'true' data-id = '2'></tr>
<tr data-selected = 'false' data-id = '3'></tr>
<tr data-selected = 'true' data-id = '4'></tr>
我尝试为此创建一个咖啡脚本函数
elems = $("tr[data-selected ='true']").data("id")
alert( elems )
这似乎只返回最后一个元素的数据 id 值。
如何创建所有 ID 值的数组?
尝试
$('tr[data-selected="true"]').map(function(){
return $(this).data('id');
}).get();
演示
当您在返回多个项目的选择器上使用 attr/data 时,它将仅为您提供第一个匹配元素的结果。因此,使用 .map 获取特定的 dat attrib 值并从 jquery 对象集合转换为数组。
原因在于.attr/data
的实施方式。
// Gets
bulk ?
fn.call( elems ) :
length ? fn( elems[0], key ) : emptyGet; //<-- snippet from jquery just considers the first element.
好吧,你也可以使用.each
函数
$(document).ready(function(){
var ids = [];
elems = $("tr[data-selected=true]").each(function(){
ids.push($(this).attr('data-id'));
});
console.log(ids);
})
<tr data-selected = 'true' data-id = '1'></tr>
<tr data-selected = 'true' data-id = '2'></tr>
<tr data-selected = 'false' data-id = '3'></tr>
http://jsbin.com/iqEYAPI/1/edit
相关文章:
- 使用来自不同循环Javascript的数据创建数组
- 如何在不链接/jquery的情况下使用方法应用css属性数组
- Dojo将索引0处的数据从数组绑定到小部件
- 从数据对象数组创建折线图
- 获取 JSON 数据将数组项添加到变量
- AngularJS过滤器不适用于我的数据:关联数组
- 如何用javascript创建三维数组我想把数据插入数组中,这有助于我的代码
- 如何使用lodash返回与模式匹配的属性数组
- 为什么不是't ng表将数据从数组填充到表中
- 使用d3.js在绑定数据内数组(以恒定性动态生成d3.svg.line)
- 如何使用ajax调用获取数组列表数据(将数组列表数据控制器传递给ajax方法)
- Ember 数据模型数组并不总是有数据
- 从一组数据或数组创建对象
- 使用 lodash 是将数据从数组映射到单个数组的好方法
- 设置对象数据结构数组属性
- 通过jquery将数据从数组从页面发送到其他页面
- 使用 Mongoose 和 Node 将数据插入数组时出错
- 如何使用 javascript 返回数据属性数组
- 将数据属性数组转换为对象
- 如何从HTML数据属性中获取数据到数组中