And*_*vey 1 javascript coffeescript
请原谅我糟糕的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>
Run Code Online (Sandbox Code Playgroud)
我试图为此创建一个coffeescript函数
elems = $("tr[data-selected ='true']").data("id")
alert( elems )
Run Code Online (Sandbox Code Playgroud)
这似乎只返回最后一个元素的data-id值.
如何创建所有ID值的数组?
尝试
$('tr[data-selected="true"]').map(function(){
return $(this).data('id');
}).get();
Run Code Online (Sandbox Code Playgroud)
当您在返回多个项目的选择器上使用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.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1763 次 |
最近记录: |