作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试从 <li data-nid="1">
中获取数据值标签。 <li>
列表是从 Ajax
生成的查询响应。
$.each(data.notifications.detail,function(index, element){
$('#notifications_list').append('<li id="element" data-nid ='+element.id+'><a>'+element.texte+'</a></li>');
});
为了恢复值(value),我尝试了以下方法:
var array = new Array();
$( "#element").each(function() {
var id = $( this ).data( "nid" );
array.push(id);
});
但我总是只得到一个元素,而且它总是第一个。所以也许有人向我说明情况。
最佳答案
首先,您不能让多个元素具有相同的 id
,因此在 id 选择器上使用 each()
是完全多余的。您应该将 id
更改为 class
。
要从附加元素创建值数组,您可以简单地使用 map()
。试试这个:
$.each(data.notifications.detail, function(index, element){
$('#notifications_list').append('<li class="element" data-nid="' + element.id + '"><a>' + element.texte + '</a></li>');
});
var array = $(".element").map(function() {
return $(this).data("nid");
}).get();
另请注意,您可以在追加新的 li
元素时在相同的 each()
循环中创建值数组,如下所示:
var array = [];
$.each(data.notifications.detail, function(index, element){
array.push(element.id);
$('#notifications_list').append('<li class="element" data-nid="' + element.id + '"><a>' + element.texte + '</a></li>');
});
关于jquery - 如何使用 jquery each 函数获取值列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37181119/
我是一名优秀的程序员,十分优秀!